:root{
  --black:#000;
  --white:#fff;
  --blue:#0f73b6;
  --blue-light:#60a0d7;
  --grey:#d9d9d9;
  --font-body:'Source Sans Pro','Source Sans 3',Arial,sans-serif;
  --font-title:'Saira Semi Condensed','Arial Narrow',Arial,sans-serif;
  --project-container:1300px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html.menu-lock,body.menu-lock{overflow:hidden}
body{margin:0;background:#fff;color:#000;font-family:var(--font-body);font-size:18px;line-height:1.5}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:inherit}

/* Top header */
.topbar{position:fixed;top:0;left:0;z-index:50;width:100%;height:70px;padding:8px 10px;background:rgba(0,0,0,.74);display:flex;align-items:center}
.topbar__inner{width:min(1300px,100%);margin:0 auto;display:grid;grid-template-columns:177px 1fr;align-items:center}
.logo img{width:140px;max-height:53px}
.top-actions{display:flex;justify-content:flex-end;align-items:center;gap:22px;color:#fff;text-transform:uppercase}
.lang{position:relative;font-size:20px;line-height:1.5}
.lang button,.hamburger{border:0;background:transparent;color:#fff;font:inherit;text-transform:uppercase;cursor:pointer}
.lang__menu{position:absolute;display:none;right:-5px;top:51px;background:#424242;min-width:40px}
.lang.open .lang__menu{display:block}
.lang__menu a{display:block;padding:8px 12px;border-bottom:2px solid #424242;font-size:14px;color:#fff}
.lang__menu a:hover{color:var(--blue);border-bottom-color:var(--blue)}
.hamburger{width:38px;height:38px;background:url(/Files/Templates/Designs/valtria/images/burger-icon-v3.svg) center/contain no-repeat}
.hamburger span{display:none}
.contact-pill{display:none!important;visibility:hidden!important;pointer-events:none!important}

/* Fullscreen menu */
.menu-panel{position:fixed;inset:0;z-index:99999;width:100vw;height:100vh;background:#000;color:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease}
.menu-panel.open{opacity:1;visibility:visible;pointer-events:auto}
.menu-frame{position:fixed;left:40px;right:40px;top:73px;bottom:22px;width:calc(100vw - 80px);height:calc(100vh - 95px);border:2px solid #fff;display:grid;grid-template-columns:50% 50%;background:#000;overflow:hidden}
.menu-left{height:100%;overflow-y:auto;padding:0 20px 30px 0;margin:0;scrollbar-width:thin;scrollbar-color:#353535 #232e33;border-right:2px solid #fff}
.menu-left::-webkit-scrollbar{width:3px}
.menu-left::-webkit-scrollbar-track{background:#232e33}
.menu-left::-webkit-scrollbar-thumb{background:#353535;border-radius:3px}
.menu-logo-row{position:fixed;top:10px;left:40px;right:40px;height:53px;z-index:100010;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}
.menu-logo-row img{width:140px;height:auto}
.close-menu{pointer-events:auto;position:relative;z-index:100011;width:34px;height:34px;margin:6px 4px 0 0;border:0;background:transparent;color:#fff;cursor:pointer;font-size:0;line-height:1;padding:0;display:block}
.close-menu::before{content:'×';display:block;font-family:Arial,sans-serif;font-size:30px;font-weight:300;color:#fff;line-height:34px;text-align:center}
.menu-close-side{position:fixed;left:14px;bottom:28px;z-index:100012;width:22px;height:140px;padding:0;margin:0;border:0;background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;gap:8px;writing-mode:vertical-rl;transform:rotate(180deg);overflow:visible}
.menu-close-side span:first-child{font-family:Arial,sans-serif;font-size:16px;font-weight:400;line-height:1}
.menu-close-side span:last-child{font-family:'Source Sans 3','Source Sans Pro',Arial,sans-serif;font-size:18px;line-height:1;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}
.menu-section-title{font-family:var(--font-title);font-size:22px;font-weight:700;line-height:1.5;text-transform:uppercase;padding:4px 0 4px 20px;margin:0 0 10px;border-bottom:1px solid #fff;color:#fff}
.menu-panel nav a,.menu-heading{font-family:var(--font-title);font-size:19px;font-weight:400;line-height:1.5;color:#fff}
.menu-panel nav a{display:block;padding:3px 30px}
.menu-panel nav a:hover,.menu-heading:hover{color:var(--blue-light)}
.menu-heading{display:block;width:calc(100% - 30px);margin:0 0 6px 30px;padding:0;text-align:left;border:0;border-bottom:1px solid #fff;background:transparent;position:relative;cursor:pointer}
.menu-heading::after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:24px;line-height:1;font-weight:400;color:#fff}
.menu-heading.is-open::after{content:'-'}
.menu-sub{display:none;margin:0;padding:0 0 0 15px;border:0}
.menu-sub.open{display:block}
.menu-sub a{padding-left:29px}
.menu-visual{border:10px solid #000;height:100%;min-height:0;width:100%;display:grid;place-items:center;background-color:var(--blue-light);background-image:url(/Files/Templates/Designs/valtria/images/valtria-transparente-2.png);background-repeat:no-repeat;background-position:103% 104%;background-size:auto;text-align:center;padding:0;color:#fff}
.menu-visual .talk-box{transform:translateY(-21px)}
.menu-visual strong{display:block;font-size:24px;font-weight:400;line-height:1.2;text-transform:uppercase;color:#fff}
.menu-visual .contact-word{font-size:24px;text-transform:none;margin-top:2px}
.talk-icon{width:109px;height:109px;margin:18px auto 8px}

/* Generic inner-page hero */
.hero{background:#000;color:#fff;padding:115px 20px 0}
.hero__inner{width:min(1300px,100%);margin:0 auto;display:block}
.hero-intro{display:grid;grid-template-columns:50% 50%;align-items:flex-end;color:#fff}
.hero-kicker{font-family:var(--font-title);font-size:30px;font-weight:500;line-height:1.5;padding-left:40px}
.hero-text{font-size:18px;line-height:1;min-height:100px;padding-bottom:20px;color:#fff}
.hero-title-image{position:relative;margin-top:-20px}
.hero-title-image h1{position:relative;z-index:2;margin:0 0 -45px 40px;color:#fff;font-family:'Source Sans Pro','Source Sans 3',Arial,sans-serif;font-size:clamp(60px,8.5vw,110px);font-weight:400;line-height:1;letter-spacing:-6px;text-transform:uppercase}
.hero-img{position:relative;z-index:1;width:100%;height:300px;background:url(/Files/Templates/Designs/valtria/images/hero-proyectos.jpg) center/cover no-repeat;margin:0}
.breadcrumbs{width:min(1300px,100%);margin:0 auto;padding:10px 20px;display:flex;gap:10px;align-items:center;font-family:var(--font-title);font-size:16px;line-height:1.5;background:#fff}
.breadcrumbs a{color:var(--blue);font-weight:700}
.breadcrumbs span{color:#1d1c1d}
.breadcrumbs .sep{color:var(--blue);font-weight:700}

/* Projects grid */
.projects{padding:55px 20px 65px;background:#fff}
.grid{width:min(1300px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.card,.extra-card{height:436px;min-height:436px}
.card{position:relative;background:center/cover no-repeat;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;border:0 solid #fff;transition:.35s}
.card::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.12);transition:.35s}
.card:hover{border:8px solid #fff}
.card:hover::before{background:rgba(0,0,0,.28)}
.card__name{position:relative;opacity:0;transform:translateY(10px);transition:.35s}
.card:hover .card__name{opacity:1;transform:none}
.card h3,.card h4{margin:0;display:inline-block;padding:10px;background:#fff;font-family:var(--font-title);font-size:24px;font-weight:500;line-height:1.5}
.card h3{background:var(--blue);color:#fff}
.card h4{display:block;color:#000}
.extra-card{background:#fff;display:flex;flex-direction:column;justify-content:center;padding:40px 30px}
.extra-card h2{font-family:var(--font-title);font-size:30px;font-weight:500;line-height:1;margin:0 0 20px;color:#000}
.extra-card p{font-size:18px;line-height:1.5;margin:0 0 30px;color:#000}
.extra-card a{display:inline-block;align-self:flex-start;padding:25px 0 60px 20px;background:url(/Files/Templates/Designs/valtria/images/hover-details.png) 5px 5px/60px auto no-repeat;color:#000}

/* Footer */
.footer{background:#000;color:#fff;padding:65px 20px 0}
.footer__inner{width:min(1300px,100%);margin:auto;display:grid;grid-template-columns:1.35fr .9fr 1fr 1fr;gap:58px;align-items:start}
.footer-logo{width:280px;margin:0 0 18px -14px}
.footer h2{font-family:var(--font-title);font-size:30px;font-weight:500;line-height:1.5;margin:0 0 16px;color:#fff}
.footer h3{font-family:var(--font-title);font-size:25px;font-weight:500;line-height:1.25;margin:0 0 10px;color:#fff}
.footer .footer-subtitle{margin-top:26px}
.footer a{display:block;margin:0 0 12px;color:#fff;font-size:18px;line-height:1.35}
.footer .social{display:inline-grid;place-items:center;background:#fff;color:#000;width:30px;height:30px;border-radius:50%;font-weight:700;font-size:15px;line-height:1;margin-top:2px}
.footer .clauger-link{margin-top:2px}
.footer .clauger-link img{width:112px;height:auto}
.copyright{background:#d9d9d9;color:#000;text-align:center;font-family:var(--font-title);font-size:15px;font-weight:500;line-height:1.5;padding:10px;margin:53px -20px 0;text-transform:uppercase}

/* Modal and utilities */
.modal{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.8);display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal-card{background:#fff;width:min(900px,96vw);max-height:94vh;overflow:auto;padding:48px 30px;position:relative}
.modal-card h2{font-family:var(--font-title);font-size:35px;font-weight:500;line-height:1;margin:0 0 24px}
.close-modal{position:absolute;right:16px;top:10px;border:0;background:transparent;font-size:34px;cursor:pointer}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.form-grid label{font-size:14px;text-transform:uppercase;color:#111}
.form-grid input,.form-grid textarea,.form-grid select{width:100%;border:0;border-bottom:1px solid #000;padding:10px 4px;font:400 16px var(--font-body);box-shadow:none}
.form-grid textarea{grid-column:1/-1;min-height:92px}
.form-grid .full{grid-column:1/-1}
.submit{margin-top:20px;background:#1d1c1d;color:#fff;border:0;padding:12px 22px;font-weight:700;text-transform:uppercase;cursor:pointer}
.to-top{position:fixed;right:24px;bottom:24px;width:42px;height:42px;border:0;background:var(--blue);color:#fff;display:none;z-index:40;cursor:pointer;border-radius: 20px;}
.to-top.show{display:block}

@media(max-width:900px){
  .menu-frame{left:36px;right:16px;top:73px;bottom:16px;width:calc(100vw - 52px);height:calc(100vh - 89px);grid-template-columns:1fr}
  .menu-visual{display:none}
  .menu-logo-row{left:36px;right:16px}
  .menu-close-side{left:10px;bottom:24px}
  .hero{padding-top:150px}
  .hero-intro{display:none}
  .hero-title-image{margin-top:0}
  .hero-title-image h1{font-size:60px;letter-spacing:-2px;margin:0 0 -50px 20px}
  .hero-img{height:300px}
  .grid{grid-template-columns:repeat(2,1fr);gap:18px}
  .card,.extra-card{height:360px;min-height:360px}
  .footer{padding-top:70px}
  .footer__inner{grid-template-columns:1fr 1fr;gap:42px}
  .footer-logo{width:240px}
  .form-grid{grid-template-columns:1fr}
}

@media(max-width:560px){
  .topbar{height:64px}
  .topbar__inner{grid-template-columns:145px 1fr}
  .logo img{width:140px}
  .hero{padding:80px 0 0}
  .hero-title-image{padding:0 20px}
  .hero-title-image h1{font-size:35px;letter-spacing:0;margin:0;padding:0}
  .hero-img{height:200px;}
  .breadcrumbs{padding:10px 20px}
  .grid{grid-template-columns:1fr;gap:16px}
  .card,.extra-card{height:320px;min-height:320px}
  .footer{padding:60px 20px 0}
  .footer__inner{grid-template-columns:1fr;gap:28px}
  .footer-logo{width:210px}
  .copyright{font-size:12px;margin-top:40px}
}

/* =========================
   HOME PAGE - CLEAN VERSION
   ========================= */

.home-page{background:#fff;color:#000;overflow:hidden}
.home-container{max-width:1300px;width:100%;margin:0 auto;padding:0;}

.home-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid currentColor;border-radius:10px;padding:10px 12px;font-family:var(--font-body);font-size:18px;font-weight:400;line-height:1;text-decoration:none;transition:.25s ease}
.home-btn svg{width:12px;height:12px;flex:0 0 12px;transition:.25s ease}
.home-btn:hover svg{transform:rotate(45deg)}

/* Home hero slider */
.home-hero,.home-hero-slider{position:relative;width:100%;height:610px!important;min-height:610px!important;overflow:hidden;background:#000;color:#fff}
.home-slider-track{position:absolute;inset:0;display:flex;width:100%;height:100%;transition:transform .8s ease;will-change:transform}
.home-hero-slider .home-slide{position:relative!important;inset:auto!important;flex:0 0 100%;width:100%;height:100%;opacity:1!important;background-size:cover;background-position:center center;background-repeat:no-repeat}
.home-hero-slider .home-slide::before{content:"";position:absolute;inset:0;z-index:1;background:rgba(0,0,0,.46)}
.home-slide__inner{position:absolute;inset:0;z-index:2;display:block;color:#fff}
.home-slide__content{position:absolute;left:100px;top:50%;bottom:auto!important;z-index:2;max-width:650px;color:#fff;opacity:0;transform:translate(55px,-35%);transition:opacity .5s ease,transform .5s ease}
.home-slide.is-active .home-slide__content{opacity:1;transform:translate(0,-35%)}
.home-slide__content h1,.home-slide h1{margin:0 0 24px;font-family:var(--font-body);font-size:40px;font-weight:700;line-height:1.08;color:#fff}
.home-slide__content p,.home-slide p{margin:0;font-family:var(--font-body);font-size:24px;font-weight:400;line-height:1.25;color:#fff}
.home-slide .home-btn,.home-slider-arrow{display:none!important}
.home-hero-cta{position:absolute;left:0;bottom:0;z-index:8;width:675px;height:52px;display:grid;grid-template-columns:34px 1fr;align-items:center;padding:0 24px 0 0;background:#1378b8;color:#fff;font-family:var(--font-body);font-size:14px;font-weight:700;line-height:1.2;text-decoration:none}
.home-hero-cta__icon{grid-column:1;width:34px;color:#fff;font-size:22px;line-height:1;text-align:left}
.home-hero-cta__text{grid-column:2;justify-self:end;color:#fff;white-space:nowrap}
.home-slider-nav{position:absolute;right:34px;left:auto;top:50%;bottom:auto;z-index:8;display:flex;flex-direction:column;align-items:center;gap:14px;transform:translateY(-50%);color:#fff;font-family:var(--font-body);font-size:13px;font-weight:700}
.home-slider-count,.home-slider-nav>span{writing-mode:vertical-rl;transform:rotate(180deg)}
.home-dots{display:flex;flex-direction:column;align-items:center;gap:7px}
.home-dots button{width:2px;height:34px;border:0;padding:0;background:rgba(255,255,255,.35);cursor:pointer}
.home-dots button.is-active{background:#fff}
.home-hero-controls-text{position:absolute;right:170px;bottom:18px;z-index:8;display:flex;align-items:center;gap:5px;color:#fff;font-family:var(--font-body);font-size:15px;font-weight:400;text-transform:uppercase}
.home-control{border:0;padding:0;background:transparent;color:#fff;font:inherit;cursor:pointer}
.home-control:hover{opacity:.75}
body:has(.home-page) .topbar{height:70px!important;background:rgba(0,0,0,.72)!important}
body:has(.home-page) .topbar__inner{max-width:1300px!important;grid-template-columns:160px 1fr!important}
body:has(.home-page) .logo img{width:140px!important}

/* Home about */
.home-about-elementor{background:#fff;padding:65px 20px 65px;overflow:hidden}
.home-about-elementor__inner{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:48% 52%;align-items:center}
.home-about-elementor__content{margin-left:auto;padding-right:35px}
.home-about-elementor__content h2{margin:0 0 30px;font-family:var(--font-title);font-size:58px;font-weight:700;line-height:.95;color:#000}
.home-about-elementor__content h2 span{display:block;font-weight:400}
.home-about-elementor__content p{margin:0 0 34px;font-size:16px;line-height:1.52;color:#59636f}
.home-about-elementor__image-wrap{position:relative;width:100%;}
.home-about-elementor__image-back{position:absolute;left:40px;top:-250px;width:200px;height:200px;background-image:linear-gradient(rgba(255,255,255,.88),rgba(255,255,255,.88));background-size:cover;background-position:center center;opacity:.15;}
.home-about-elementor__image-back::before{content:"";position:absolute;inset:0;background:url("/Files/Templates/Designs/valtria/images/valtria-transparente-2.png") center top/contain repeat-y;opacity:.18}
.home-about-elementor__image-front{position:absolute;right:0;top:-180px;width:650px;height:365px;object-fit:cover;object-position:center; padding: 0 0 0 50px;}

/* Elementor-style detail links */
.home-about-elementor__more,.home-intro--about .home-intro__more,.home-solutions-scope-block a,.home-sectors__intro>a{display:inline-block!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;padding:28px 0 23px 20px!important;background-color:transparent!important;background-image:url(/Files/Templates/Designs/valtria/images/hover-details.png)!important;background-position:5px 5px!important;background-repeat:no-repeat!important;background-size:67px auto!important;border-radius:0!important;color:#000!important;font-family:var(--font-body)!important;font-size:16px!important;font-weight:400!important;line-height:1.5!important;text-align:left!important;text-decoration:none!important;white-space:nowrap!important;overflow:visible!important;transition:background-size .25s ease,background-position .25s ease}
.home-about-elementor__more:hover,.home-intro--about .home-intro__more:hover,.home-solutions-scope-block a:hover,.home-sectors__intro>a:hover{background-color:transparent!important;background-position:0 0!important;background-size:74px auto!important;color:#000!important}
.home-sectors__intro>a{color:#fff!important}
.home-sectors__intro>a:hover{color:#fff!important}

/* Home solutions */
.home-solutions-block{
  background:#fff;
  padding:30px 0 28px;
}

.home-solutions-heading{
  margin:0 0 30px;
}

.home-solutions-heading h2,
.home-solutions-scope-block h2{
  margin:0;
  font-family:var(--font-title);
  font-size:40px;
  font-weight:700;
  line-height:.95;
  letter-spacing:.5px;
  /*text-transform:uppercase;*/
  color:#000;
}

.home-solutions-heading h2 span,
.home-solutions-scope-block h2 span{
  font-weight:400;
}

.home-solutions-layout{
  display:grid;
  grid-template-columns:500px 1fr;
  gap:50px;
  align-items:stretch;
}

.home-solutions-image{
  position:relative;
  width:100%;
  min-height:550px;
  overflow:hidden;
  background-image:url('https://valtria.com/wp-content/uploads/2024/05/ImageTop-post-industria-alimentaria-1920x360.jpg');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transition:none;
}

.home-solutions-image-layer{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  opacity:0;
  transition:opacity .35s ease;
}

.home-solutions-image-layer.active{
  opacity:1;
}

.home-solutions-list{
  border:1px solid #000;
  background:#fff;
}

.home-solutions-item{
  min-height:116px;
  padding:0 30px;
  border-bottom:1px solid #000;
  background:#fff;
  cursor:pointer;
  display:grid;
  grid-template-columns:1fr 92px;
  align-items:center;
  gap:24px;
  color:#000;
  transition:background .18s ease,color .18s ease;
}

.home-solutions-item:last-child{
  border-bottom:0;
}

.home-solutions-item__content{
  grid-column:1;
  grid-row:1;
  min-width:0;
}

.home-solutions-item h3{
  margin:0 0 8px;
  font-family:var(--font-title);
  font-size:25px;
  font-weight:700;
  line-height:1.05;
  text-transform:uppercase;
  color:#000;
  transition:color .18s ease;
}

.home-solutions-item p{
  margin:0;
  font-family:var(--font-body);
  font-size:15px;
  font-weight:400;
  line-height:1.35;
  color:#777;
  transition:color .18s ease;
}

.home-solutions-item a {
	color: #1174B8;  
  	text-decoration: underline;
  	font-style: italic;
}

.home-solutions-item.is-active a {
	color: #60a0d7;  
}

.home-solution-icon{
  width:78px;
  height:78px;
  object-fit:contain;
  transition:opacity .18s ease,transform .18s ease;
  pointer-events:none;
}

.home-solution-icon--black{
  display:block;
  grid-column:2;
  grid-row:1;
  justify-self:center;
}

.home-solution-icon--white{
  display:none;
  grid-column:1;
  grid-row:1;
  justify-self:center;
}

.home-solutions-item:hover,
.home-solutions-item.is-active{
  grid-template-columns:92px 1fr;
  background:#000;
  color:#fff;
}

.home-solutions-item:hover .home-solution-icon--white,
.home-solutions-item.is-active .home-solution-icon--white{
  display:block;
}

.home-solutions-item:hover .home-solution-icon--black,
.home-solutions-item.is-active .home-solution-icon--black{
  display:none;
}

.home-solutions-item:hover .home-solutions-item__content,
.home-solutions-item.is-active .home-solutions-item__content{
  grid-column:2;
}

.home-solutions-item:hover h3,
.home-solutions-item:hover p,
.home-solutions-item.is-active h3,
.home-solutions-item.is-active p{
  color:#fff;
}

.home-solutions-scope-block{
  background:#fff;
  padding:18px 0 65px;
}

.home-solutions-scope-block h2{
  margin-bottom:28px;
}

.home-solutions-scope-block p{
  margin:0 0 28px;
  max-width:1180px;
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.4;
  color:#000;
}

@media(max-width:1024px){
  .home-solutions-layout{
    grid-template-columns:1fr;
    gap:30px;
  }

  .home-solutions-image{
    min-height:420px;
  }
}

@media(max-width:768px){
  .home-solutions-heading h2,
  .home-solutions-scope-block h2{
    font-size:40px;
  }

  .home-solutions-item,
  .home-solutions-item:hover,
  .home-solutions-item.is-active{
    grid-template-columns:1fr 76px;
    min-height:auto;
    padding:22px 20px;
    gap:16px;
  }

  .home-solutions-item__content,
  .home-solutions-item:hover .home-solutions-item__content,
  .home-solutions-item.is-active .home-solutions-item__content{
    grid-column:1;
  }

  .home-solution-icon--black,
  .home-solutions-item:hover .home-solution-icon--black,
  .home-solutions-item.is-active .home-solution-icon--black{
    display:block;
    grid-column:2;
    justify-self:end;
    width:66px;
    height:66px;
  }

  .home-solution-icon--white,
  .home-solutions-item:hover .home-solution-icon--white,
  .home-solutions-item.is-active .home-solution-icon--white{
    display:none;
  }

  .home-solutions-item:hover h3,
  .home-solutions-item:hover p,
  .home-solutions-item.is-active h3,
  .home-solutions-item.is-active p{
    color:inherit;
  }

  .home-solutions-item h3{
    color:#000;
    font-size:22px;
  }

  .home-solutions-item p{
    color:#777;
  }
}

@keyframes parpadeo{0%{opacity:1}50%{opacity:0}100%{opacity:1}}
.parpadeo{animation:parpadeo 1s infinite}

/* Home stats */
.home-stats{background:#000;color:#fff;padding:65px 0}
.home-stats__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:90px;text-align:left}
.home-stat{display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:flex-start;gap:14px;border:0;padding:0}
.home-stat strong{margin:0;display:flex;align-items:baseline;gap:0;font-family:var(--font-title);font-size:60px;font-weight:400;line-height:.85;color:transparent;-webkit-text-stroke:1px #fff;white-space:nowrap}
.home-stat strong span{color:transparent;-webkit-text-stroke:1px #fff}
.counter-prefix,.counter-suffix,.js-counter{display:inline-block}
.home-stat p{margin:4px 0 0;max-width:190px;font-family:var(--font-body);font-size:16px;font-weight:700;line-height:1.05;color:#fff}

/* Home sectors */
.home-sectors{background:#000;color:#fff;padding:0 0 65px}
.home-sectors__grid{display:grid;grid-template-columns:300px 1fr;gap:170px;align-items:start}
.home-sectors__intro{position:sticky;top:100px;align-self:start;min-width: 400px;}
.home-sectors__intro h2{margin:0 0 20px;font-family:var(--font-body);font-size:16px;font-weight:400;line-height:1;text-transform:uppercase;letter-spacing:.05em;color:#bfc7d0}
.home-sectors__intro h3{margin:0 0 30px;font-family:var(--font-title);font-size:54px;font-weight:700;line-height:.95;color:#fff}
.sector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 70px}
.sector-card{min-height:215px;border-top:0;padding:0}
.sector-card__num{display:block;margin:0;font-size:20px;color:#B3B2B2}
.sector-card__num::after{content:"";display:block;width:100%;height:2px;margin:10px 0 24px;background:#B3B2B2}
.sector-card h4{margin:0 0 16px;font-family:var(--font-title);font-size:24px;font-weight:400;line-height:1.1;color:#fff}
.sector-card h4 a,.sector-card p{color:#fff}
.sector-card p{margin:0 0 16px;max-width:315px;font-size:16px;line-height:1.5}
.sector-card .home-btn{padding:0;border:0;border-radius:0;background:transparent;color:#fff;font-size:16px;font-weight:600}
.sector-card .home-btn svg{width:10px;height:10px}

/* Home projects - Elementor original style */
.home-projects{
  display:none!important;
}

.home-projects-original{
  position:relative;
  width:100%;
  overflow:hidden;
  background:#fff;
  padding:65px 0 65px;
}

.home-projects-original__title{
  position:absolute;
  left:0;
  top:80px;
  z-index:1;
  width:100%;
  pointer-events:none;
  overflow:hidden;
}

.home-projects-original__title h2{
  width:100%;
  margin:0;
  padding:0;
  font-family:var(--font-title);
  font-size:128px;
  font-weight:700;
  line-height:.8;
  letter-spacing:2px;
  text-align:center;
  text-transform:uppercase;
  color:#ddd;
  opacity:.9;
  white-space:nowrap;
}

.home-projects-carousel{
  position:relative;
  z-index:2;
  width:100%;
  overflow:hidden;
  padding:72px 0 0;
}

.home-projects-track{
  display:flex;
  align-items:flex-start;
  gap:0;
  will-change:transform;
}

.home-project-card-original{
  flex:0 0 25%;
  min-width:25%;
  padding:20px;
  color:#000;
  text-decoration:none;
}

.home-project-card-original img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center;
  margin:0 0 8px;
}

.home-project-card-original h3{
  margin:0;
  font-family:var(--font-title);
  font-size:22px;
  font-weight:700;
  line-height:1.05;
  color:#000;
  text-transform:uppercase;
}

.home-project-card-original h4{
  margin:8px 0 0;
  font-family:var(--font-body);
  font-size:15px;
  font-weight:400;
  line-height:1.2;
  color:#000;
}

.home-projects-original__button{
  display:flex;
  justify-content:center;
  margin-top:25px;
}

.home-projects-original__button a, .home-news__button{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:12px 18px;
  border:1px solid #000;
  border-radius:10px;
  color:#000;
  background:transparent;
  font-family:var(--font-body);
  font-size:18px;
  font-weight:400;
  line-height:1;
  text-decoration:none;
  transition:.25s ease;
}

.home-projects-original__button span, .home-news__button span{
  display:inline-block;
  font-size:15px;
  transform:rotate(-45deg);
  transition:.25s ease;
}

.home-projects-original__button a:hover span, .home-news__button:hover span{
  transform:rotate(0deg);
}

@media(max-width:1024px){
  .home-projects-original{
    padding:68px 0 80px;
  }

  .home-projects-original__title{
    top:36px;
  }

  .home-projects-original__title h2{
    font-size:82px;
  }

  .home-projects-carousel{
    padding:58px 30px 0;
  }

  .home-project-card-original{
    flex-basis:100%;
    min-width:100%;
    padding:0 12px;
  }
}

@media(max-width:480px){
  .home-projects-original{
    padding:58px 0 70px;
  }

  .home-projects-original__title{
    top:38px;
  }

  .home-projects-original__title h2{
    font-size:54px;
  }

  .home-projects-carousel{
    padding:44px 20px 0;
  }

  .home-project-card-original{
    padding:0 8px;
  }

  .home-project-card-original h3{
    font-size:24px;
  }

  .home-project-card-original h4{
    font-size:16px;
  }
}


/* Project detail page */
.project-detail-page{background:#fff;color:#000;font-family:var(--font-body)}
.project-detail-page li {font-size: 16px;}
.project-hero{position:relative;min-height:400px;background-image:var(--hero-bg);background-position:center;background-size:cover;background-repeat:no-repeat;display:grid;place-items:center;margin:0;padding:80px 20px 0;overflow:hidden}
.project-hero__overlay{position:absolute;inset:0;background:#1174b8;opacity:.8}
.project-hero__inner{position:relative;z-index:1;width:100%;max-width:var(--project-container);margin:auto;text-align:center}
.project-hero h1{font-family:var(--font-title);font-size:70px;font-weight:400;line-height:1.5;color:#fff;margin:0}
.project-facts{background:#d9d9d9;padding:0 20px}
.project-facts__inner{max-width:var(--project-container);width:100%;margin:0 auto;display:grid;grid-template-columns:30% 15% 15% 20% 20%}
.project-fact{padding:18px 10px}
.project-fact h2{margin:0 0 6px;font-family:var(--font-title);font-size:20px;font-weight:700;line-height:1.2;text-transform:uppercase;color:#000}
.project-fact p{margin:0;font-family:var(--font-body);font-size:18px;line-height:1.5;color:#000}
.project-content{padding:54px 20px 60px;background:#fff}
.project-content__inner{max-width:var(--project-container);width:100%;margin:0 auto;display:grid;grid-template-columns:55% 45%;gap:40px}
.project-gallery{display:flex;flex-direction:column;gap:40px;padding-left:0}
.project-gallery img{width:100%;height:auto;display:block}
.project-copy{position:sticky;top:100px;align-self:start}
.project-copy h2{margin:0 0 20px;font-family:var(--font-title);font-size:28px;font-weight:700;text-transform:uppercase;color:#000}
.project-copy p{margin:0 0 25px;font-size:18px;line-height:1.7;color:#000}
.project-nav{display:flex;justify-content:center;align-items:center;gap:50px;margin:0px auto 65px}
.project-nav a{color:#000;text-decoration:none;font-family:var(--font-title);font-size:18px}
.project-nav a:first-child{position:relative}
.project-nav a:first-child::after{content:'';position:absolute;right:-25px;top:50%;transform:translateY(-50%);width:1px;height:24px;background:#d0d0d0}
.project-contact-block{position:relative;margin-top:40px;padding:65px 20px;background:url(/Files/Files/Images/bg-habla.jpg) center/cover no-repeat;overflow:hidden}
.project-contact-block::before{content:"";position:absolute;inset:0;background:#1174b8;opacity:.8}
.project-contact-block__inner{position:relative;z-index:1;max-width:var(--project-container);width:100%;margin:0 auto}
.project-contact-block p{margin:0 0 10px;color:#fff;text-transform:uppercase;font-size:16px;font-weight:600}
.project-contact-block h2{margin:0;color:#fff;font-family:var(--font-title);font-size:40px;font-weight:700;line-height:1.2}
.project-contact-block h3{margin:0 0 14px;color:#fff;font-family:var(--font-title);font-size:40px;font-weight:400;line-height:1}
.project-contact-block a{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:auto;height:48px;padding:0 14px;border:1px solid rgba(255,255,255,.85);border-radius:10px;background:transparent;color:#fff;text-decoration:none;font-family:var(--font-body);font-size:18px;font-weight:400;line-height:1;transition:.3s}
.project-contact-block a svg{width:13px;height:13px;flex:0 0 13px;transition:.3s}
.project-contact-block a:hover{background:#fff;color:#1273b8}
.project-contact-block a:hover svg{transform:rotate(45deg)}
.project-contact-block a:hover svg path{fill:#1273b8}

@media(max-width:1024px){.project-content__inner{grid-template-columns:1fr}.project-copy{position:static}}
@media(max-width:768px){.project-hero{min-height:280px;padding-top:90px}.project-hero h1{font-size:42px}.project-facts{padding:20px 30px}.project-facts__inner{grid-template-columns:1fr;gap:24px}.project-fact{padding:0}.project-content{padding:0 30px 40px}.project-content__inner{gap:30px}.project-gallery{gap:24px}.project-copy h2{font-size:30px}.project-copy p{font-size:16px;line-height:1.6}.project-contact-block h2,.project-contact-block h3{font-size:30px}}

/* Blog list and post */
.blog-card.hidden-post{display:none}
.blog-list{max-width:1300px;width:100%;margin:0 auto;padding:55px 0 65px}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:20px;row-gap:42px}
.blog-card{color:#000}
.blog-card a{color:inherit;text-decoration:none}
.blog-card__image{
  position:relative;
  display:block;
  width:100%;
  height:360px;
  margin:0 0 20px;
  overflow:hidden;
  background:#fff;
}
/* Imagen */
.blog-card__image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;

  transform:scale(1);
  transition:
    transform .45s cubic-bezier(.22,.61,.36,1),
    filter .45s ease;

  will-change:transform;
}

/* Borde interior que aparece suavemente */
.blog-card__image::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;

  border:0 solid #fff;

  pointer-events:none;

  transition:
    border-width .45s cubic-bezier(.22,.61,.36,1);
}

/* Hover sobre TODA la tarjeta */
.blog-card:hover .blog-card__image img{
  transform:scale(.96);
}

/* Marco blanco que refuerza el efecto */
.blog-card:hover .blog-card__image::after{
  border-width:7px;
}
.blog-card h2{margin:0 0 10px;font-family:var(--font-title);font-size:22px;font-weight:700;line-height:1.2;color:#000}
.blog-card__excerpt{margin:0 0 15px;font-family:var(--font-body);font-size:16px;font-weight:400;line-height:1.3;color:#4c4c4c}
.blog-card__excerpt--empty{min-height:44px}
.blog-card__meta{display:flex;align-items:center;gap:5px;font-family:var(--font-body);font-size:12px;font-weight:400;line-height:1.5;text-transform:uppercase;color:#999}
.blog-card__meta .dot{width:4px;height:4px;border-radius:50%;background:#999;display:inline-block}
.blog-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin:50px 0 0}
.blog-pagination a,.blog-pagination span{font-family:var(--font-body);font-size:16px;color:#000;text-decoration:none}
.blog-pagination .current{color:#1273b8;font-weight:700}
.blog-post-hero{position:relative;min-height:400px;padding:120px 20px 70px;background-image:var(--post-hero-bg);background-position:center;background-size:cover;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center}
.blog-post-hero::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.18);pointer-events:none}
.blog-post-hero__box{position:relative;z-index:2;width:min(1600px,80%);min-height:150px;padding:25px 40px;background:rgba(18,115,184,.78);color:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.blog-post-hero__eyebrow{margin:0 0 8px;font-family:var(--font-body);font-size:14px;font-weight:400;line-height:1.2;text-transform:uppercase;color:#fff}
.blog-post-hero h1{max-width:1000px;margin:0 0 8px;font-family:var(--font-body);font-size:28px;font-weight:400;line-height:1.2;color:#fff}
.blog-post-hero__meta{display:flex;justify-content:center;align-items:center;gap:14px;margin:0 0 12px;font-family:var(--font-body);font-size:13px;font-weight:400;line-height:1.2;color:#fff}
.blog-post-hero__meta a{color:#fff;text-decoration:none;text-transform:uppercase}
.blog-post-share{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:2px;background:#fff;color:#1273b8;text-decoration:none;font-family:Arial,sans-serif;font-size:14px;font-weight:700;line-height:1}
.blog-post-breadcrumbs{max-width:1300px;margin:0 auto;padding:22px 20px 0;font-size:14px}
.blog-post-breadcrumbs a{color:#1174b8;text-decoration:none}
.blog-post-breadcrumbs .sep{margin:0 10px;color:#1174b8}
.blog-post-content{max-width:960px;margin:45px auto 80px;padding:0 20px}
.blog-post-content p, .project-copy p{margin:0 0 15px;font-size:16px;line-height:1.5;color:#111}
.blog-post-content h2{margin:40px 0 10px;font-family:var(--font-title);font-size:32px;font-weight:700;line-height:1.1;color:#000}
.blog-post-content h3, .project-copy h3{margin:40px 0 10px;font-family:var(--font-title);font-size:24px;font-weight:700;color:#000;line-height:1.1;}
.blog-post-content ul,.blog-post-content ol{margin:0 0 15px 25px}
.blog-post-content li{margin-bottom:0;font-size:16px;line-height:1.7}
.blog-post-content img{display:block;max-width:100%;height:auto;margin:40px auto}
.blog-post-content a{color:#1273b8;text-decoration:none;font-weight:bold}
.blog-post-content a:hover{color:#1273b8;text-decoration:underline}
.sector-card .home-btn{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
  white-space:nowrap!important;
  line-height:1!important;
}

.sector-card .home-btn svg{
  flex:0 0 10px!important;
}

.home-projects-carousel{
  cursor:grab;
  overflow:hidden;
}

.home-projects-carousel.is-dragging,
.home-projects-carousel.is-dragging *{
  cursor:grabbing!important;
}

.home-projects-track{
  user-select:none;
  -webkit-user-select:none;
  will-change:transform;
}

.home-project-card-original{
  user-select:none;
  -webkit-user-select:none;
}

.home-project-card-original img{
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}

@media(max-width:1024px){.blog-grid{grid-template-columns:repeat(2,1fr)}.blog-post-hero h1{font-size:42px}.blog-post-content h2{font-size:34px}.blog-post-content p,.blog-post-content li{font-size:18px}}
@media(max-width:768px){.blog-list{padding:30px 24px 60px}.blog-grid{grid-template-columns:1fr;row-gap:38px}.blog-card__image {height:160px}.blog-card h2{font-size:22px}.blog-post-hero{min-height:320px;padding:110px 25px 40px}.blog-post-hero__box{width:90%;min-height:150px;padding:22px 20px}.blog-post-hero h1{font-size:30px;line-height:1.15}.blog-post-hero__meta{flex-wrap:wrap;gap:6px}.blog-post-content{margin:30px auto 60px;padding:0 30px}.blog-post-content p,.blog-post-content li{font-size:16px;line-height:1.8}.blog-post-content h2{margin:50px 0 20px;font-size:28px}}

/* HOME CLIENTS */

.home-clients{
  padding:0 0 65px;
  overflow:hidden;
}

.home-clients__title h3{
  margin:0 0 30px;
  font-family:var(--font-title);
  font-size:40px;
  font-weight:700;
  line-height:.95;
  color:#000;
}

.home-clients-carousel{
  width:100%;
  overflow:hidden;
}

.home-clients-track{
  display:flex;
  align-items:center;
  will-change:transform;
}

.home-client-logo{
  flex:0 0 calc(100% / 6);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 10px;
}

.home-client-logo img{
  width:150px;
  height:150px;
  object-fit:contain;
  display:block;
}

@media(max-width:1024px){
  .home-client-logo{
    flex-basis:calc(100% / 3);
    padding:0 17.5px;
  }

  .home-clients__title h3{
    font-size:42px;
  }
}

@media(max-width:600px){
  .home-clients{
    padding:60px 0 65px;
  }

  .home-client-logo{
    flex-basis:50%;
    padding:0 10px;
  }

  .home-clients__title h3{
    font-size:36px;
  }
}

/* HOME CTA - original */

.home-project-cta{
  position:relative;
  padding:65px 0 65px;
  overflow:hidden;
  background-image:
    linear-gradient(rgba(18,115,184,.78),rgba(18,115,184,.78)),
    url(/Files/Files/Images/bg-habla.jpg);
  background-size:cover;
  background-position:center center;
  color:#fff;
  text-align:center;
}

.home-project-cta .home-container{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.home-project-cta h2{
  max-width:720px;
  margin:0 0 40px;
  font-family:var(--font-title);
  font-size:58px;
  font-weight:700;
  line-height:.95;
  text-transform:uppercase;
  color:#fff;
}

.home-project-cta h2 span{
  display:block;
  font-weight:400;
}

.home-project-cta__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background-color:transparent;
  color:#fff;
  fill:#fff;
  border:1px solid #d9d9d9;
  border-radius:10px;
  padding:10px 10px 12px;
  font-family:var(--font-body);
  font-size:20px;
  font-weight:400;
  line-height:1.5;
  text-decoration:none;
  transition:.3s;
}

.home-project-cta__button{
  flex-direction:row-reverse;
  gap:11px;
}

.home-project-cta__button svg{
  width:15px;
  height:15px;
  transform:rotate(0deg);
  transition:.3s;
}

.home-project-cta__button svg path{
  fill:currentColor;
}

.home-project-cta__button:hover,
.home-project-cta__button:focus{
  background:#fff;
  color:#000;
}

.home-project-cta__button:hover svg,
.home-project-cta__button:focus svg{
  transform:rotate(45deg);
}

.home-project-cta__button:hover svg path,
.home-project-cta__button:focus svg path{
  fill:#1273B8;
}

@media(max-width:768px){
  .home-project-cta{
    min-height:360px;
    padding:80px 0 75px;
  }

  .home-project-cta h2{
    font-size:42px;
    margin-bottom:46px;
  }
}

.home-news{
  background:#fff;
  padding:65px 0 65px;
  overflow:hidden;
}

.home-news__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:30px;
}

.home-news h2{
  margin:0;
  font-family:var(--font-title);
  font-size:40px;
  font-weight:600;
  line-height:1;
  color:#000;
}

.home-news__line{
  display:block;
  width:35px;
  height:2px;
  margin:5px 0;
  background:#000;
}

.home-news p{
  margin:0;
  font-family:var(--font-title);
  font-size:16px;
  font-weight:500;
  color:#000;
}

xt-decoration:none;
}

.home-news__button svg{
  width:12px;
  height:12px;
  fill:currentColor;
}

.home-news-carousel{
  overflow:hidden;
  cursor:grab;
}

.home-news-track{
  display:flex;
  will-change:transform;
}

.home-news-card{
  position:relative;
  flex:0 0 20%;
  height:250px;
  margin:0 18px;
  padding:120px 18px 24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background-size:cover;
  background-position:center;
  color:#fff;
  text-decoration:none;
  overflow:hidden;
}

.home-news-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.32);
  z-index:0;
}

.home-news-card h3,
.home-news-card__date{
  position:relative;
  z-index:1;
}

.home-news-card h3{
  margin:0;
  font-family:var(--font-title);
  font-size:18px;
  font-weight:400;
  line-height:1.1;
  color:#fff;
}

.home-news-card__date{
  display:flex;
  align-items:center;
  gap:8px;
  font-family:var(--font-title);
  font-size:16px;
  font-weight:400;
  color:#fff;
  text-transform:capitalize;
}

.home-news-card__date span{
  display:block;
  width:55px;
  height:2px;
  background:#fff;
}

@media(max-width:1024px){
  .home-news__head{
    flex-direction:column;
    align-items:flex-start;
    gap:35px;
  }

  .home-news-card{
    flex-basis:100%;
    height:320px;
  }
}

@media(max-width:480px){
  .home-news{
    padding:80px 20px 40px;
  }

  .home-news h2{
    font-size:41px;
  }

  .home-news-card{
    margin:0 10px;
    height:300px;
  }
}

.home-news-carousel{
  cursor:grab;
  overflow:hidden;
}

.home-news-carousel.is-dragging,
.home-news-carousel.is-dragging *{
  cursor:grabbing!important;
}

.home-news-track{
  user-select:none;
  -webkit-user-select:none;
  will-change:transform;
}

.home-news-card{
  user-select:none;
  -webkit-user-select:none;
}

.home-contact{
  background:#1174b8;
  padding:65px 0;
  color:#fff;
}

.home-contact__grid{
  display:grid;
  grid-template-columns:44% 56%;
  gap:100px;
  align-items:start;
}

.home-contact__intro h2{
  margin:0 0 25px;
  max-width:520px;
  font-family:var(--font-title);
  font-size:50px;
  font-weight:500;
  line-height:1;
  text-transform:uppercase;
  color:#fff;
}

.home-contact__intro p{
  margin:0;
  font-family:var(--font-body);
  font-size:20px;
  line-height:1.3;
  color:#fff;
}

.home-contact__form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:19px 10px;
  max-width: 625px;
}

.home-contact__form select,
.home-contact__form input,
.home-contact__form textarea{
  width:100%;
  border:0;
  border-bottom:1px solid #fff;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  padding:8px 10px;
  color:#fff;
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.5;
  outline:none;
}

.home-contact__form select{
  grid-column:1 / -1;
  background:#1174b8;
  color:#fff;
}

.home-contact__form input::placeholder,
.home-contact__form textarea::placeholder{
  color:rgba(255,255,255,.65);
}

.home-contact__form textarea{
  grid-column:1 / -1;
  min-height:100px;
  resize:vertical;
}

.home-contact__required,
.home-contact__check{
  grid-column:1 / -1;
}

.home-contact__required{
  margin:0;
  font-size:13px;
  color:#fff;
}

.home-contact__check{
  display:flex;
  align-items:flex-start;
  gap:7px;
  margin:0;
  color:#ccc;
  font-size:13px;
  line-height:1.3;
}

.home-contact__check input{
  width:13px;
  height:13px;
  margin:1px 0 0;
  padding:0;
  border:0;
  flex:0 0 13px;
}

.home-contact__check a{
  color:#fff;
  font-weight:700;
  text-decoration:underline;
}

.home-contact__check b{
  color:#ff1616;
}

.home-contact__form button{
  grid-column:1 / -1;
  justify-self:start;
  display:inline-flex;
  flex-direction:row-reverse;
  align-items:center;
  gap:8px;
  margin-top:10px;
  padding:10px 18px;
  border:0;
  border-radius:0;
  background:#fff;
  color:#000;
  font-family:var(--font-body);
  font-size:14px;
  font-weight:700;
  line-height:1.5;
  cursor:pointer;
}

.home-contact__form button svg{
  width:15px;
  height:15px;
  fill:#000;
  transform:rotate(-45deg);
  transition:.3s;
}

.home-contact__form button:hover svg{
  transform:rotate(0deg);
}

/* TITULO HERO */

.home-slide h1{
  font-family:"Saira Semi Condensed", sans-serif;
  font-size:50px;
  font-weight:600;
  line-height:.9;
  letter-spacing:-1px;
  text-transform:none;
}

/* SUBTITULO HERO */

.home-slide p{
  font-size:22px;
  font-weight:400;
  line-height:1.05;
  letter-spacing:0;
}

/* BOTON */

.home-hero-cta{
  font-size:16px;
  font-weight:400;
}

@media(max-width:768px){
  .home-contact{
    padding:60px 20px;
  }

  .home-contact__grid{
    grid-template-columns:1fr;
    gap:45px;
  }

  .home-contact__intro h2{
    font-size:45px;
  }

  .home-contact__form{
    grid-template-columns:1fr;
  }
}
@media(max-width:768px){

  .home-hero-slider{
    height:510px;
    min-height:510px;
  }

  .home-slide{
    min-width:100%;
  }

  .home-slide-content{
    width:100%;
    max-width:100%;
    padding:0 20px;
    left:0;
    transform:none;
  }

  .home-slide h1{
    max-width:390px;
    font-size:26px;
    line-height:.98;
    letter-spacing:0;
    word-break:normal;
    overflow-wrap:normal;
  }

  .home-slide p{
    max-width:360px;
    font-size:18px;
    line-height:1.15;
  }

  .home-hero-cta{
    left:0;
    bottom:0;
    width:225px;
    height:52px;
    padding:0 20px;
    justify-content:space-between;
  }

  .home-hero-nav{
    right:18px;
    bottom:18px;
    z-index:5;
  }

  .home-slider-pagination{
    right:18px;
  }
  
  .home-slide.is-active .home-slide__content {
  	left: 50px;	  
  }
  
  .home-hero-controls-text {
   	right: 25px; 
  }
}

@media(max-width:420px){

  .home-slide h1{
    max-width:330px;
    font-size:26px;
  }

  .home-slide p{
    max-width:310px;
    font-size:18px;
  }

  .home-hero-cta{
    width:205px;
  }
}

.home-hero-cta{
  display:inline-flex;
  flex-direction:row!important;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}

.home-hero-cta__text{
  order:1;
}

.home-hero-cta svg,
.home-hero-cta .home-hero-cta__icon{
  order:2;
  width:12px;
  height:12px;
  transform:rotate(45deg)!important;
  transition:transform .3s ease;
  position:relative;
  top:-5px;
}

.home-slide h1,
.home-slide p,
.home-hero-cta{
  opacity:0;
  transform:translateX(50px);
  transition:opacity .5s ease-in-out, transform .5s ease-in-out;
}

.home-slide.is-active.is-entering h1{
  opacity:1;
  transform:translateX(0);
  transition-delay:.05s;
}

.home-slide.is-active.is-entering p{
  opacity:1;
  transform:translateX(0);
  transition-delay:.15s;
}

.home-hero-slider.is-text-entering .home-hero-cta{
  opacity:1;
  transform:translateX(0);
  transition-delay:.25s;
}

/*** CONTACT FORM ***/

.home-contact__form{
  position:relative;
}

.home-form-error{
  position:absolute;
  z-index:30;
  display:block;
  max-width:260px;
  padding:9px 12px;
  border-radius:8px;
  background:#fff;
  color:#111;
  font-size:13px;
  font-weight:700;
  line-height:1.2;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
  opacity:0;
  transform:translateY(6px);
  pointer-events:none;
  transition:.2s ease;
}

.home-form-error::before{
  content:"";
  position:absolute;
  left:16px;
  top:-7px;
  border-left:7px solid transparent;
  border-right:7px solid transparent;
  border-bottom:7px solid #fff;
}

.home-form-error.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* ==============================
   VALTRIA GLOBAL MAP - FINAL
   ============================== */

section#valtriaGlobalMapDW,
section#valtriaGlobalMapDW *{
  box-sizing:border-box!important;
}

section#valtriaGlobalMapDW{
  position:relative!important;
  width:100%!important;
  min-height:760px!important;
  padding:120px 440px 70px 4vw!important;
  /*background:
    radial-gradient(circle at 48% 45%, rgba(0,159,227,.22), transparent 34%),
    radial-gradient(circle at 78% 25%, rgba(0,159,227,.10), transparent 26%),
    linear-gradient(135deg, #0e1219 0%, #05080d 100%)!important;*/
  background: #333;
  color:#fff!important;
  font-family:Arial, Helvetica, sans-serif!important;
  overflow:hidden!important;
}

section#valtriaGlobalMapDW .global-grid{
  display:block!important;
  width:100%!important;
}

section#valtriaGlobalMapDW h1{
  margin:0 0 18px!important;
  color:#fff!important;
  font-size:clamp(52px,6vw,88px)!important;
  line-height:.92!important;
  letter-spacing:-.06em!important;
  font-weight:800!important;
}

section#valtriaGlobalMapDW .intro{
  max-width:650px!important;
  margin:0 0 30px!important;
  color:#d1d7df!important;
  font-size:18px!important;
  line-height:1.6!important;
}

section#valtriaGlobalMapDW .map-box{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  aspect-ratio:1300 / 620!important;
  overflow:hidden!important;
}

section#valtriaGlobalMapDW #worldMap{
  width:100%!important;
  height:100%!important;
  display:block!important;
}

section#valtriaGlobalMapDW .dot-layer{
  fill:url(#valtriaDotsDW2026)!important;
}

section#valtriaGlobalMapDW .office-dot{
  position:absolute!important;
  z-index:5!important;
  width:36px!important;
  height:36px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  transform:translate(-50%,-50%)!important;
  cursor:pointer!important;
}

section#valtriaGlobalMapDW .office-dot span{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:11px!important;
  height:11px!important;
  transform:translate(-50%,-50%)!important;
  border-radius:50%!important;
  background:#009fe3!important;
  box-shadow:
    0 0 0 6px rgba(0,159,227,.24),
    0 0 28px rgba(0,159,227,1)!important;
}

section#valtriaGlobalMapDW .office-dot::before,
section#valtriaGlobalMapDW .office-dot::after{
  content:""!important;
  position:absolute!important;
  inset:2px!important;
  border-radius:50%!important;
  border:1px solid rgba(0,159,227,.68)!important;
}

section#valtriaGlobalMapDW .office-dot::after{
  animation:valtriaMapPulse 2s infinite!important;
}

section#valtriaGlobalMapDW .office-dot.active span{
  width:13px!important;
  height:13px!important;
  background:#16bdff!important;
}

section#valtriaGlobalMapDW .office-dot.dim,
section#valtriaGlobalMapDW .office-list button.dim{
  opacity:.22!important;
}

/* Sidebar */
section#valtriaGlobalMapDW .valtria-map-sidebar{
  position:absolute!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  z-index:30!important;
  width:400px!important;
  height:auto!important;
  pointer-events:none!important;
}

section#valtriaGlobalMapDW .valtria-map-card{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:auto!important;
  min-height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  padding:50px 34px 42px!important;
  overflow-y:auto!important;
  pointer-events:auto!important;
  color:#fff!important;
  text-align:left!important;
  border-left:1px solid rgba(255,255,255,.16)!important;
  /*background:
    radial-gradient(circle at 20% 0%, rgba(0,159,227,.22), transparent 34%),
    linear-gradient(180deg, rgba(12,24,34,.98), rgba(4,8,13,.98))!important;*/
  background: #333;
  box-shadow:-28px 0 80px rgba(0,0,0,.45)!important;
  isolation:isolate!important;
}

section#valtriaGlobalMapDW .valtria-map-card,
section#valtriaGlobalMapDW .valtria-map-card *{
  pointer-events:auto!important;
  text-align:left!important;
}

section#valtriaGlobalMapDW .valtria-map-card::before,
section#valtriaGlobalMapDW .valtria-map-card::after{
  content:none!important;
  display:none!important;
}

/* Oculta eyebrow y texto descriptivo */
section#valtriaGlobalMapDW #valtriaMapEyebrowDW,
section#valtriaGlobalMapDW #valtriaMapTextDW,
section#valtriaGlobalMapDW .eyebrow{
  display:none!important;
}

/* Cabecera: nombre + logo */
section#valtriaGlobalMapDW .valtria-map-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  width:100%!important;
  margin:0 0 8px!important;
}

section#valtriaGlobalMapDW .valtria-map-head h2{
  width:auto!important;
  margin:0!important;
  flex:1 1 auto!important;
}

section#valtriaGlobalMapDW .valtria-map-logo{
  width:105px!important;
  max-width:34%!important;
  height:auto!important;
  margin:0!important;
  flex:0 0 auto!important;
}

/* Títulos */
section#valtriaGlobalMapDW .valtria-map-card h2{
  width:100%!important;
  margin:0 0 10px!important;
  color:#fff!important;
  font-size:42px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:-.04em!important;
}

section#valtriaGlobalMapDW .valtria-map-card h3{
  display:inline-flex!important;
  width:auto!important;
  margin:0 0 26px!important;
  padding:8px 13px!important;
  border-radius:999px!important;
  background:rgba(0,159,227,.16)!important;
  color:#4ccaff!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:700!important;
}

/* Datos */
section#valtriaGlobalMapDW .data-item{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  width:100%!important;
  margin:0 0 22px!important;
}

section#valtriaGlobalMapDW .data-icon{
  flex:0 0 20px!important;
  width:20px!important;
  height:20px!important;
  color:#aeb6c2!important;
}

section#valtriaGlobalMapDW .data-item strong{
  display:block!important;
  margin:0 0 5px!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

section#valtriaGlobalMapDW .data-item a,
section#valtriaGlobalMapDW .data-item span{
  color:#fff!important;
  font-size:15px!important;
  line-height:1.45!important;
  text-decoration:none!important;
}

section#valtriaGlobalMapDW .valtria-map-link{
  display:inline-block!important;
  margin-top:8px!important;
  color:#4ccaff!important;
  font-weight:700!important;
  text-decoration:none!important;
}

section#valtriaGlobalMapDW .valtria-map-link:hover{
  text-decoration:underline!important;
}

section#valtriaGlobalMapDW .separator{
  width:100%!important;
  height:1px!important;
  margin:6px 0 28px!important;
  background:rgba(255,255,255,.14)!important;
}

/* Lista de oficinas */
section#valtriaGlobalMapDW .office-list{
  width:100%!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
  margin-top:28px!important;
}

section#valtriaGlobalMapDW .region-filter{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
}

section#valtriaGlobalMapDW .office-list button,
section#valtriaGlobalMapDW .region-filter button, section#valtriaGlobalMapDW .region-filter a {
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.045)!important;
  color:#fff!important;
  cursor:pointer!important;
  transition:.22s ease!important;
  box-shadow:none!important;
  font:inherit!important;
}

section#valtriaGlobalMapDW .office-list button{
  width:100%!important;
  padding:10px 14px!important;
  font-size:14px!important;
  text-align:center!important;
}

section#valtriaGlobalMapDW .region-filter button, section#valtriaGlobalMapDW .region-filter a {
  min-width:124px!important;
  padding:12px 22px!important;
  font-size:15px!important;
}

section#valtriaGlobalMapDW .office-list button.active,
section#valtriaGlobalMapDW .region-filter button.active,
section#valtriaGlobalMapDW .office-list button:hover,
section#valtriaGlobalMapDW .region-filter button:hover,
section#valtriaGlobalMapDW .region-filter a.active,
section#valtriaGlobalMapDW .region-filter a:hover{
  background:#009fe3!important;
  border-color:#009fe3!important;
  color:#fff!important;
}

section#valtriaGlobalMapDW .region-title{
  margin:28px 0 14px!important;
  color:#9ca4b0!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.2em!important;
  text-transform:uppercase!important;
}

@keyframes valtriaMapPulse{
  0%{
    transform:scale(.7);
    opacity:.8;
  }
  100%{
    transform:scale(2.2);
    opacity:0;
  }
}

/* Responsive */
@media(max-width:900px){
  section#valtriaGlobalMapDW{
    min-height:auto!important;
    padding:100px 22px 54px!important;
  }

  section#valtriaGlobalMapDW .map-box,
  section#valtriaGlobalMapDW .region-title,
  section#valtriaGlobalMapDW .region-filter{
    display:none!important;
  }

  section#valtriaGlobalMapDW .valtria-map-sidebar{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    pointer-events:auto!important;
  }

  section#valtriaGlobalMapDW .valtria-map-card{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:32px 24px!important;
    border-radius:26px!important;
    border:1px solid rgba(255,255,255,.16)!important;
    box-shadow:0 30px 80px rgba(0,0,0,.45)!important;
  }

  section#valtriaGlobalMapDW .office-list{
    grid-template-columns:1fr 1fr!important;
  }
}

@media(max-width:520px){
  section#valtriaGlobalMapDW h1{
    font-size:46px!important;
  }

  section#valtriaGlobalMapDW .intro{
    font-size:16px!important;
  }

  section#valtriaGlobalMapDW .valtria-map-card h2{
    font-size:40px!important;
  }

  section#valtriaGlobalMapDW .valtria-map-logo{
    width:92px!important;
    max-width:36%!important;
  }

  section#valtriaGlobalMapDW .office-list{
    grid-template-columns:1fr!important;
  }
}

section#valtriaGlobalMapDW .valtria-office-details{
  width:100%!important;
}

section#valtriaGlobalMapDW .valtria-office-detail{
  width:100%!important;
  padding:0 0 24px!important;
  margin:0 0 24px!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
}

section#valtriaGlobalMapDW .valtria-office-detail:last-child{
  margin-bottom:0!important;
}

section#valtriaGlobalMapDW .valtria-office-detail__logo{
  width:100%!important;
  margin:0 0 5px!important;
}

section#valtriaGlobalMapDW .valtria-office-detail__logo img,
section#valtriaGlobalMapDW .valtria-office-detail__logo svg{
  width:120px!important;
  max-width:150px!important;
  height:auto!important;
  display:block!important;
}

/* =======================================
   CONTACT FORM - LIGHT VERSION
   ======================================= */

.home-contact--light{
  background:#fff;
  color:#000;
}

.home-contact--light .home-contact__intro h2,
.home-contact--light .home-contact__intro p,
.home-contact--light .home-contact__required{
  color:#000;
}

.home-contact--light .home-contact__form select,
.home-contact--light .home-contact__form input,
.home-contact--light .home-contact__form textarea{
  background:transparent;
  color:#000;
  border-bottom:1px solid #000;
}

.home-contact--light .home-contact__form input::placeholder,
.home-contact--light .home-contact__form textarea::placeholder{
  color:#666;
}

.home-contact--light .home-contact__form select{
  color:#000;
  background:#fff;
}

.home-contact--light .home-contact__check{
  color:#555;
}

.home-contact--light .home-contact__check a{
  color:#000;
}

.home-contact--light .home-contact__check b{
  color:#d40000;
}

/* Botón */

.home-contact--light .home-contact__form button{
  background:#1273b8;
  color:#fff;
}

.home-contact--light .home-contact__form button svg{
  fill:#fff;
}

.home-contact--light .home-contact__form button:hover{
  background:#000;
  color:#fff;
}

.home-contact--light .home-contact__form button:hover svg{
  fill:#fff;
}

/* Tooltip de errores */

.home-contact--light .home-form-error{
  background:#111;
  color:#fff;
}

.home-contact--light .home-form-error::before{
  border-bottom-color:#111;
}

/* =========================
   CONTACT OFFICES CAROUSEL
   ========================= */

.contact-offices{
  background:#fff;
  padding:65px 0 65px;
  overflow:hidden;
}

.contact-offices__track{
  display:flex;
  width:max-content;
  gap:0;
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  will-change:transform;
  touch-action:pan-y;
}

.contact-offices__track.is-dragging{
  cursor:grabbing;
}

.contact-office-card{
  position:relative;
  flex:0 0 25vw;
  flex-shrink:0;
  aspect-ratio:1 / 1;
  height:auto;
  min-height:0;
  margin:0 12px;
  padding:34px 28px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background-image:var(--office-img);
  background-size:cover;
  background-position:center;
  color:#fff;
}

.contact-office-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    180deg,
    rgba(0,0,0,.15) 0%,
    rgba(0,0,0,.72) 55%,
    rgba(0,0,0,.92) 100%
  );
  opacity:0;
  transition:.35s ease;
}

.contact-office-card > div{
  position:relative;
  z-index:2;
  width:100%;
  opacity:0;
  transform:translateY(35px);
  transition:opacity .35s ease, transform .35s ease;
  pointer-events:none;
}

.contact-office-card:hover::before{
  opacity:1;
}

.contact-office-card:hover > div{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

.contact-office-card h2{
  margin:0 0 4px;
  font-family:var(--font-title);
  font-size:28px;
  font-weight:700;
  line-height:1;
  color:#fff;
}

.contact-office-card h3{
  margin:0 0 36px;
  font-size:18px;
  font-weight:400;
  color:#fff;
}

.contact-office-card p{
  margin:0 0 8px;
  font-size:15px;
  line-height:1.45;
  color:#fff;
}

.contact-office-card a{
  color:#fff;
  text-decoration:none;
  font-weight:600;
  transition:.25s;
}

.contact-office-card a:hover{
  text-decoration:underline;
}

@media(max-width:1024px){
  .contact-office-card{
    flex-basis:50vw;
    aspect-ratio:1 / 1;
  }
}

@media(max-width:768px){
  .contact-offices{
    padding:60px 0;
  }

  .contact-office-card{
    flex-basis:85vw;
    aspect-ratio:1 / 1;
    min-height:0;
    margin:0 8px;
  }

  .contact-office-card::before{
    opacity:1;
  }

  .contact-office-card > div{
    opacity:1;
    transform:none;
    pointer-events:auto;
  }
}

.valtria-numbers {
  width: 100%;
  background: #fff;
  padding: 45px 20px 65px;
  overflow: hidden;
}

.valtria-numbers * {
  box-sizing: border-box;
}

.valtria-numbers__inner {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
}

.valtria-numbers__heading {
  display: flex;
  align-items: flex-end;
  gap: 0;
  width: 100%;
}

.valtria-numbers__heading h2 {
  margin: 0;
  padding-left: 5px;
  font-family: "Source Sans Pro", sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.5em;
  color: #000;
}

.valtria-numbers__dot {
  display: inline-block;
  font-family: "Source Sans Pro", sans-serif;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.5em;
  color: #000;
  opacity: 0;
  animation: valtriaDotFade .4s ease forwards;
}

.valtria-numbers__dot.dot-1 {
  animation-delay: .7s;
}

.valtria-numbers__dot.dot-2 {
  animation-delay: 1.4s;
}

.valtria-numbers__dot.dot-3 {
  animation-delay: 2.1s;
}

.valtria-numbers__main-line {
  width: 100%;
  height: 1.5px;
  background: #000;
  margin: 6px 0 28px;
}

.valtria-numbers__content {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.valtria-numbers__stats{
    width:50%;
    display:flex;
    align-items:stretch;
}

.valtria-numbers__visual{
    width:50%;
    min-height:430px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    overflow:visible;
}

.valtria-numbers__logo{
  width:16%;
  display:flex;
  justify-content:flex-end;
  align-items:flex-end;   /* antes: flex-start */

  padding-right:30px;
  padding-bottom:10px;    /* en lugar de padding-top */

  animation:valtriaFadeBottom .8s ease both;
}

@keyframes valtriaFadeBottom{
  from{
    opacity:0;
    transform:translateY(60px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

.valtria-numbers__logo img {
  width: 90px;
  max-width: 100%;
  height: auto;
  display: block;
}

.valtria-numbers__grid {
  width: 84%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 15px;
  animation: valtriaFade .8s ease both;
}

.valtria-number-card {
  min-height: 190px;
  padding: 20px 0 0;
}

.valtria-number-card h3 {
  margin: 0;
  font-family: "Saira Semi Condensed", sans-serif;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.5em;
  color: #000;
}

.valtria-number-card__line {
  display: block;
  width: 100%;
  height: 1px;
  background: #000;
  margin: 5px 0 8px;
}

.valtria-number-card__number {
  display: flex;
  align-items: baseline;
  font-family: "Saira Semi Condensed", sans-serif;
  font-size: 87px;
  font-weight: 400;
  line-height: 1.15em;
  color: #000;
}

.valtria-number-card__number strong,
.valtria-number-card__number span {
  font: inherit;
  font-weight: 400;
}

.valtria-number-card p {
  margin: 0;
  max-width: 260px;
  font-family: "Source Sans Pro", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5em;
  color: #000;
}

.valtria-number-card sup {
  font-size: 60%;
  line-height: 0;
}

.valtria-numbers__visual {
  width: 50%;
  min-height: 500px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  overflow: visible;
}

.valtria-moon{
    display:block;
    width:88%;
    max-width:500px;
    height:auto;
    margin:0 auto;
    will-change:transform;
}
  
.valtria-moon--top {
  margin-bottom: 0;
}

.valtria-moon--bottom {
  margin-top: -1px;
}

@keyframes valtriaDotFade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes valtriaFade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes valtriaFadeUp {
  from {
    opacity: 0;
    transform: translateY(35px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1370px) {
  .valtria-numbers__content {
    flex-direction: column;
    align-items: stretch;
  }

  .valtria-numbers__stats {
    width: 100%;
  }

  .valtria-numbers__visual {
    width: 100%;
    min-height: 420px;
    margin-top: 30px;
  }
}

@media (max-width: 768px) {
  .valtria-numbers {
    padding: 55px 20px 60px;
  }

  .valtria-numbers__heading h2 {
    font-size: 28px;
  }

  .valtria-numbers__main-line {
    display: none;
  }

  .valtria-numbers__stats {
    display: block;
  }

  .valtria-numbers__logo {
    display: none;
  }

  .valtria-numbers__grid {
    width: 100%;
    grid-template-columns: repeat(2, 1fr);
  }

  .valtria-number-card__number {
    font-size: 68px;
  }

  .valtria-numbers__visual {
    min-height: 310px;
  }
}

@media (max-width: 480px) {
  .valtria-numbers__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .valtria-number-card {
    min-height: auto;
  }

  .valtria-number-card h3 {
    font-size: 28px;
  }

  .valtria-number-card__number {
    font-size: 74px;
  }

  .valtria-number-card p {
    max-width: none;
  }

  .valtria-numbers__visual {
    min-height: 230px;
  }
}

/* =========================
   KNOW HOW SECTION
   ========================= */

.knowhow-section{
  background:#000;
  color:#fff;
  padding:65px 20px;
  overflow:hidden;
}

.knowhow-section,
.knowhow-section *{
  box-sizing:border-box;
}

.knowhow-section__inner{
  max-width:1300px;
  width:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 50%) minmax(0, calc(50% - 100px));
  align-items:center;
  column-gap:100px;
}

.knowhow-section__image{
  width:100%;
  min-width:0;
  margin:0;
  padding:0;
  text-align:left;
}

.knowhow-section__image img{
  display:block;
  width:auto;
  max-width:100%;
  object-fit:cover;
  object-position:center center;
}

.knowhow-section__content{
  width:100%;
  min-width:0;
  margin:0;
  padding:0;
}

.knowhow-section__kicker{
  margin:0 0 20px;
  color:#fff;
  font-family:"Source Sans Pro", var(--font-body), sans-serif;
  font-size:20px;
  font-weight:400;
  line-height:1.5em;
  text-transform:uppercase;
}

.knowhow-section h2{
  margin:0 0 28px;
  color:#fff;
  font-family:"Saira Semi Condensed", var(--font-title), sans-serif;
  font-size:40px;
  font-weight:700;
  line-height:1em;
}

.knowhow-section__text{
  width:90%;
  margin:0 0 0 12%;
  padding:0 20px;
  border-left:1px solid #fff;
}

.knowhow-section__text p, .knowhow-section__text ul li {
  margin:0 0 24px;
  color:#fff;
  font-family:"Source Sans Pro", var(--font-body), sans-serif;
  font-size:16px;
  font-weight:400;
  line-height:1.5em;
}

.knowhow-section__text ul li {
	margin:0 0 5px;	  
}

.knowhow-section__text p:last-child{
  margin-bottom:0;
}

.knowhow-section__text strong{
  font-weight:700;
}

.knowhow-section__text a{
  color:#0f73b6;
  font-weight:700;
  text-decoration:none;
}

.knowhow-section__text a:hover{
  text-decoration:underline;
}

/* Tablet */

@media(max-width:1370px){
  .knowhow-section__inner{
    gap:80px;
  }
}

@media(max-width:768px){

  .knowhow-section{
    padding:50px 20px 60px;
  }

  .knowhow-section__inner{
    display:flex;
    flex-direction:column;
    max-width:100%;
    width:100%;
    padding:0;
    gap:32px;
  }

  .knowhow-section__image,
  .knowhow-section__content{
    width:100%;
    max-width:100%;
  }

  .knowhow-section__image img{
    width:100%;
    height:auto;
    max-width:100%;
    display:block;
  }

  .knowhow-section__kicker{
    margin-bottom:14px;
  }

  .knowhow-section h2{
    font-size:40px;
    margin-bottom:28px;
  }

  .knowhow-section__text{
    width:100%;
    max-width:100%;
    margin:0;
    padding:0;
    border-left:0;
  }

  .knowhow-section__text p{
    font-size:16px;
    line-height:1.55;
  }
}

/* =========================
   HISTORY SECTION
   ========================= */

.history-section{
  background:#fff;
  color:#000;
  padding:65px 20px 65px;
  overflow:hidden;
}

.history-section,
.history-section *{
  box-sizing:border-box;
}

.history-section__inner{
  max-width:1300px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  grid-template-rows:auto auto;
  grid-template-areas:
    "intro intro img1"
    "img2  img3  button";
  align-items:start;
  gap:0;
  grid-auto-rows:1fr;
}

.history-section__intro{
    grid-area:intro;

    display:flex;
    flex-direction:column;
    justify-content:center;

    height:100%;
    min-height:100%;

    padding:0 100px 0 0;
}

.history-section__intro h2{
  margin:0 0 24px;
  color:#000;
  font-family:"Saira Semi Condensed", var(--font-title), sans-serif;
  font-size:70px;
  font-weight:600;
  line-height:1em;
}

.history-section__intro p{
  max-width:780px;
  margin:0;
  color:#000;
  font-family:"Source Sans Pro", var(--font-body), sans-serif;
  font-size:16px;
  font-weight:400;
  line-height:1.5em;
}

.history-section__image{
  width:100%;
  aspect-ratio:1 / 1;
  overflow:hidden;
}

.history-section__image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.history-section__image--top{
  grid-area:img1;
}

.history-section__image--left{
  grid-area:img2;
}

.history-section__image--center{
  grid-area:img3;
}

.history-section__button{
  grid-area:button;
  width:170px;
  height:170px;
  justify-self:center;
  align-self:center;
  border:1.2px solid #000;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#000;
  background:transparent;
  text-decoration:none;
  text-transform:uppercase;
  font-family:"Source Sans Pro", var(--font-body), sans-serif;
  font-size:22px;
  font-weight:700;
  line-height:1.05;
  text-align:center;
  transition:.25s ease;
}

.history-section__button-text{
  position:relative;
  display:inline-block;
  line-height:1.05;
}

.history-section__icon{
  display:inline-block;
  width:auto;
  height:auto;
  font-size:20px;
  line-height:1;
  transform:rotate(45deg);
  position:relative;
  top:-7px;
  left:1px;
  transition:transform .3s ease;
}

.history-section__button:hover{
  background:#000;
  color:#fff;
}

.history-section__button:hover .history-section__icon{
  transform:rotate(45deg) translate(2px,-2px);
}
.history-section__button:hover .history-section__icon{
    transform:rotate(45deg) translate(2px,-2px);
}

.history-section__button:hover{
  background:#000;
  color:#fff;
}

@media(max-width:1024px){
  .history-section__intro{
    padding:0 50px 60px 0;
  }

  .history-section__intro h2{
    font-size:58px;
  }

  .history-section__button{
    width:145px;
    height:145px;
    font-size:19px;
  }
}

@media(max-width:768px){
  .history-section{
    padding:70px 20px;
  }

  .history-section__inner{
    grid-template-columns:1fr;
    grid-template-rows:auto;
    grid-template-areas:
      "intro"
      "img1"
      "button";
    gap:28px;
  }

  .history-section__intro{
    padding:0;
    align-self:start;
  }

  .history-section__intro h2{
    font-size:44px;
  }

  .history-section__image--left,
  .history-section__image--center{
    display:none;
  }

  .history-section__button{
    width:145px;
    height:145px;
    justify-self:start;
    margin-top:4px;
  }
}

/* =========================
   VALUES SECTION
   ========================= */

.values-section{
  background:#fff;
  color:#000;
  padding:0px 20px 65px;
  overflow:hidden;
}

.values-section,
.values-section *{
  box-sizing:border-box;
}

.values-section__inner{
  max-width:1300px;
  margin:0 auto;
}

.values-section h2{
  margin:0 0 15px;
  color:#000;
  font-family:"Saira Semi Condensed", var(--font-title), sans-serif;
  font-size:40px;
  font-weight:600;
  line-height:1em;
}

.values-section__grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0 50px;
}

.values-card{
  min-height:243px;
  padding:50px 0 0 40px;
  background-repeat:no-repeat;
  background-position:left top;
  background-size:auto;
}

.values-card--01{
  background-image:url("/Files/Files/Images/About/01-azul.png");
}

.values-card--02{
  background-image:url("/Files/Files/Images/About/02-azul.png");
}

.values-card--03{
  background-image:url("/Files/Files/Images/About/03-azul.png");
}

.values-card--04{
  background-image:url("/Files/Files/Images/About/04-azul.png");
}

.values-card h3{
  margin:0 0 25px;
  color:#000;
  font-family:"Source Sans Pro", var(--font-body), sans-serif;
  font-size:22px;
  font-weight:700;
  text-transform:uppercase;
  line-height:1.5em;
}

.values-card p{
  max-width:230px;
  margin:0;
  color:#777;
  font-family:"Source Sans Pro", var(--font-body), sans-serif;
  font-size:20px;
  font-weight:400;
  line-height:.9em;
}

@media(max-width:768px){
  .values-section{
    padding:50px 20px 30px;
  }

  .values-section h2{
    font-size:41px;
    margin-bottom:35px;
  }

  .values-section__grid{
    grid-template-columns:1fr;
    gap:0;
  }

  .values-card{
    min-height:0;
    margin-bottom:30px;
    padding:30px 0 0 30px;
    background-size:contain;
  }

  .values-card p{
    max-width:none;
    font-size:16px;
    line-height:1em;
  }
}

/* =========================
   SOLUCIONES - STATS SECTION
   ========================= */

.solutions-stats-section{
  background:#fff;
  color:#000;
  padding:45px 20px;
  overflow:hidden;
}

.solutions-stats-section,
.solutions-stats-section *{
  box-sizing:border-box;
}

.solutions-stats-section__inner{
  width:min(1300px, 100%);
  margin:0 auto;
}

.solutions-stats-section__title{
  margin:0 0 30px;
  font-family:var(--font-body, "Source Sans 3", "Source Sans Pro", Arial, sans-serif);
  font-size:40px;
  font-weight:600;
  line-height:1;
  color:#000;
}

.solutions-stats-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:40px;
}

.solutions-stat-card{
  color:#000;
}

.solutions-stat-card__line{
  width:100%;
  height:2px;
  background:#b3b2b2;
  margin:0 0 18px;
}

.solutions-stat-card h3{
  margin:0 0 16px;
  font-family:var(--font-body, "Source Sans 3", "Source Sans Pro", Arial, sans-serif);
  font-size:22px;
  font-weight:700;
  line-height:1.5;
  color:#000;
}

.solutions-stat-card h3 sup{
  font-size:.6em;
  line-height:0;
}

.solutions-stat-card__number{
  display:flex;
  align-items:baseline;
  gap:0;
  margin:0 0 20px;
  font-family:var(--font-title, "Saira Semi Condensed", Arial, sans-serif);
  font-size:90px;
  font-weight:500;
  line-height:1.1;
  color:#000;
  -webkit-text-stroke:1px #fff;
}

.solutions-stat-card__number strong,
.solutions-stat-card__number span{
  display:inline-block;
  font:inherit;
  color:#000;
  -webkit-text-stroke:1px #fff;
}

.solutions-stat-card p{
  margin:0;
  max-width:360px;
  font-family:var(--font-body, "Source Sans Pro", Arial, sans-serif);
  font-size:15px;
  font-weight:400;
  line-height:1.5;
  color:#000;
}

/* Animación */

.solutions-stat-card{
  opacity:0;
  transform:translateY(35px);
  transition:opacity .65s ease, transform .65s ease;
}

.solutions-stat-card.is-visible{
  opacity:1;
  transform:translateY(0);
}

.solutions-stat-card:nth-child(2){
  transition-delay:.12s;
}

.solutions-stat-card:nth-child(3){
  transition-delay:.24s;
}

/* Responsive */

@media(max-width:1024px){
  .solutions-stats-section__title{
    font-size:46px;
  }

  .solutions-stats-grid{
    gap:30px;
  }

  .solutions-stat-card__number{
    font-size:72px;
  }
}

@media(max-width:768px){
  .solutions-stats-section{
    padding:55px 20px 65px;
  }

  .solutions-stats-section__title{
    font-size:40px;
    margin-bottom:34px;
  }

  .solutions-stats-grid{
    grid-template-columns:1fr;
    gap:44px;
  }

  .solutions-stat-card__number{
    font-size:66px;
    margin-bottom:14px;
  }

  .solutions-stat-card p{
    max-width:none;
    font-size:16px;
  }
}

.solutions-process-section{
  position:relative;
  background:#fff;
  color:#fff;
  padding:150px 20px 65px;
  overflow:hidden;
}

.solutions-process-section,
.solutions-process-section *{
  box-sizing:border-box;
}

.solutions-process-section__bg-title{
  position:absolute;
  left:0;
  right:0;
  top:55px;
  z-index:1;

  width:100%;
  text-align:center;

  font-family:var(--font-title, "Saira Semi Condensed", Arial, sans-serif);
  font-size:clamp(72px, 9.6vw, 150px);
  font-weight:700;
  line-height:.85;
  text-transform:uppercase;
  letter-spacing:.02em;

  color:#e1e1e1;
  pointer-events:none;
  white-space:nowrap;

  opacity:0;
  transform:translateY(45px) scale(.96);
  transition:
    opacity .65s cubic-bezier(.22,.61,.36,1),
    transform .65s cubic-bezier(.22,.61,.36,1);
}

.solutions-process-section.is-visible .solutions-process-section__bg-title{
  opacity:1;
  transform:translateY(0) scale(1);
}

.solutions-process-section__inner{
  position:relative;
  z-index:2;
  width:min(1300px, 100%);
  margin:0 auto;
}

.solutions-process-item{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:500px;
  opacity:0;
  transform:translateY(45px);
  transition:opacity .7s ease, transform .7s ease;
}

.solutions-process-item.is-visible{
  opacity:1;
  transform:translateY(0);
}

.solutions-process-item--reverse{
  direction:rtl;
}

.solutions-process-item--reverse > *{
  direction:ltr;
}

.solutions-process-item__image{
  min-height:500px;
  background-image:var(--process-img);
  background-position:left;
  background-size:cover;
  background-repeat:no-repeat;
}

.solutions-process-item__content{
  min-height:500px;
  background:#000;
  padding:100px 80px 40px 100px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  color:#fff;
}

.solutions-process-item__content span{
  display:block;
  margin:0 0 30px;
  font-family:var(--font-title, "Saira Semi Condensed", Arial, sans-serif);
  font-size:30px;
  font-weight:600;
  line-height:1.5;
  color:#fff;
}

.solutions-process-item__content h3{
  margin:0 0 50px;
  max-width:500px;
  font-family:var(--font-title, "Saira Semi Condensed", Arial, sans-serif);
  font-size:40px;
  font-weight:600;
  line-height:1.2;
  color:#fff;
}

.solutions-process-item__content h3 a{
  color:#fff;
  text-decoration:none;
}

.solutions-process-item__content p{
  margin:0;
  max-width:500px;
  font-family:var(--font-body, "Source Sans Pro", Arial, sans-serif);
  font-size:18px;
  font-weight:400;
  line-height:1.5;
  color:#fff;
}

.solutions-process-item__content strong{
  font-weight:700;
}

@media(max-width:1024px){
  .solutions-process-section{
    padding:120px 20px 70px;
  }

  .solutions-process-section__bg-title{
    top:50px;
    font-size:90px;
  }

  .solutions-process-item,
  .solutions-process-item--reverse{
    grid-template-columns:1fr;
    direction:ltr;
  }

  .solutions-process-item__image{
    min-height:360px;
  }

  .solutions-process-item__content{
    min-height:auto;
    padding:70px 55px 60px;
  }
}

@media(max-width:768px){
  .solutions-process-section{
    padding:90px 20px 55px;
  }

  .solutions-process-section__bg-title{
    top:38px;
    font-size:56px;
    white-space:normal;
    line-height:.9;
  }

  .solutions-process-item__image{
    min-height:260px;
  }

  .solutions-process-item__content{
    min-height:auto;
    padding:45px 30px;
  }

  .solutions-process-item__content span{
    margin-bottom:22px;
    font-size:26px;
  }

  .solutions-process-item__content h3{
    margin-bottom:28px;
    font-size:32px;
  }

  .solutions-process-item__content p{
    font-size:16px;
  }
}

      /* =========================
         CLEANROOM INTRO SECTION
         ========================= */

      .cleanroom-intro-section{
        background:#fff;
        color:#000;
        padding:65px 20px 65px;
        overflow:hidden;
      }

      .cleanroom-intro-section,
      .cleanroom-intro-section *{
        box-sizing:border-box;
      }

      .cleanroom-intro-section__inner{
        width:min(1300px, 100%);
        margin:0 auto;
        display:grid;
        grid-template-columns:50% 50%;
        gap:0;
        align-items:start;
      }

      .cleanroom-intro-section__content{
        padding:0 50px 0 0;
      }

      .cleanroom-intro-block{
        margin:0 0 42px;
      }

      .cleanroom-intro-block:last-child{
        margin-bottom:0;
      }

      .cleanroom-intro-block h2{
        margin:0 0 22px;
        font-family:var(--font-title, "Saira Semi Condensed", Arial, sans-serif);
        font-size:40px;
        font-weight:600;
        line-height:1.2;
        color:#000;
      }

      .cleanroom-intro-block p,
      .cleanroom-intro-block li{
        font-family:var(--font-body, "Source Sans Pro", Arial, sans-serif);
        font-size:16px;
        font-weight:400;
        line-height:1.5;
        color:#000;
      }

      .cleanroom-intro-block p{
        margin:0;
      }

      .cleanroom-intro-block ul{
        margin:0;
        padding-left:22px;
      }

      .cleanroom-intro-block li{
        margin:0 0 5px;
      }

      .cleanroom-intro-section__image{
        width:100%;
        overflow:hidden;
      }

      .cleanroom-intro-section__image img{
        display:block;
        width:100%;
        height:auto;
        object-fit:cover;
        object-position:center;
      }

      /* Animación */

      .cleanroom-intro-block,
      .cleanroom-intro-section__image{
        opacity:0;
        transform:translateY(35px);
        transition:
          opacity .65s cubic-bezier(.22,.61,.36,1),
          transform .65s cubic-bezier(.22,.61,.36,1);
      }

      .cleanroom-intro-block:nth-child(2){
        transition-delay:.12s;
      }

      .cleanroom-intro-section__image{
        transform:translateX(45px);
        transition-delay:.18s;
      }

      .cleanroom-intro-section.is-visible .cleanroom-intro-block,
      .cleanroom-intro-section.is-visible .cleanroom-intro-section__image{
        opacity:1;
        transform:translate(0,0);
      }

      /* Responsive */

      @media(max-width:1024px){
        .cleanroom-intro-section{
          padding:65px 20px 75px;
        }

        .cleanroom-intro-section__inner{
          grid-template-columns:1fr;
          gap:42px;
        }

        .cleanroom-intro-section__content{
          padding:0;
        }

        .cleanroom-intro-section__image img{
          width:100%;
        }
      }

      @media(max-width:768px){
        .cleanroom-intro-section{
          padding:50px 20px 60px;
        }

        .cleanroom-intro-block{
          margin-bottom:34px;
        }

        .cleanroom-intro-block h2{
          font-size:34px;
          line-height:1.05;
          margin-bottom:18px;
        }

        .cleanroom-intro-block p,
        .cleanroom-intro-block li{
          font-size:17px;
          line-height:1.45;
        }

        .cleanroom-intro-section__inner{
          gap:34px;
        }
      }

      @media(max-width:480px){
        .cleanroom-intro-section{
          padding:45px 20px 55px;
        }

        .cleanroom-intro-block h2{
          font-size:30px;
        }

        .cleanroom-intro-section__image img{
          min-height:220px;
          object-fit:cover;
        }
      }

    /* =========================
       CLEANROOM SUMMARY SECTION
       ========================= */

    .cleanroom-summary-section{
      background:#fff;
      color:#000;
      padding:45px 20px 0;
      overflow:hidden;
    }

    .cleanroom-summary-section,
    .cleanroom-summary-section *{
      box-sizing:border-box;
    }

    .cleanroom-summary-section__inner{
      width:min(875px, 100%);
      margin:0 auto;
      text-align:center;
    }

    .cleanroom-summary-section p{
      margin:0;
      font-family:var(--font-title, "Saira Semi Condensed", Arial, sans-serif);
      font-size:22px;
      font-weight:500;
      line-height:1.3;
      color:#000;
    }

    /* Animación */

    .cleanroom-summary-section p{
      opacity:0;
      transform:translateY(28px);
      transition:
        opacity .65s cubic-bezier(.22,.61,.36,1),
        transform .65s cubic-bezier(.22,.61,.36,1);
    }

    .cleanroom-summary-section.is-visible p{
      opacity:1;
      transform:translateY(0);
    }

    /* Responsive */

    @media(max-width:768px){
      .cleanroom-summary-section{
        padding:55px 20px 45px;
      }

      .cleanroom-summary-section p{
        font-size:21px;
        line-height:1.35;
      }
    }

    @media(max-width:480px){
      .cleanroom-summary-section{
        padding:50px 20px 40px;
      }

      .cleanroom-summary-section p{
        font-size:20px;
      }
}
/* =========================
   CLEANROOM SECTORS ICONS
   ========================= */

.cleanroom-sectors-section{
  background:#fff;
  color:#000;
  padding:20px 20px 45px;
  overflow:hidden;
}

.cleanroom-sectors-section,
.cleanroom-sectors-section *{
  box-sizing:border-box;
}

.cleanroom-sectors-section__inner{
  max-width:1300px;
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:flex-start;
  gap:40px 30px;
}

.cleanroom-sector-card{
  flex:0 0 calc(20% - 24px);
  max-width:220px;
  min-width:0;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;

  opacity:0;
  transform:translateY(-35px);
  transition:
    opacity .55s cubic-bezier(.22,.61,.36,1),
    transform .55s cubic-bezier(.22,.61,.36,1);
}

.cleanroom-sector-card img{
  width:60px;
  height:60px;
  object-fit:contain;
  margin:0 0 18px;
}

.cleanroom-sector-card:nth-child(3) img,
.cleanroom-sector-card:nth-child(8) img{
  width:50px;
  height:50px;
  margin-top:5px;
  margin-bottom:23px;
}

.cleanroom-sector-card h3{
  margin:0;
  font-family:var(--font-title, "Saira Semi Condensed", Arial, sans-serif);
  font-size:22px;
  font-weight:400;
  line-height:1.2;
  color:#000;
}

/* Animación en ola */

.cleanroom-sectors-section.is-visible .cleanroom-sector-card{
  opacity:1;
  transform:translateY(0);
}

.cleanroom-sectors-section.is-visible .cleanroom-sector-card:nth-child(1){transition-delay:0s;}
.cleanroom-sectors-section.is-visible .cleanroom-sector-card:nth-child(2){transition-delay:.08s;}
.cleanroom-sectors-section.is-visible .cleanroom-sector-card:nth-child(3){transition-delay:.16s;}
.cleanroom-sectors-section.is-visible .cleanroom-sector-card:nth-child(4){transition-delay:.24s;}
.cleanroom-sectors-section.is-visible .cleanroom-sector-card:nth-child(5){transition-delay:.32s;}
.cleanroom-sectors-section.is-visible .cleanroom-sector-card:nth-child(6){transition-delay:.42s;}
.cleanroom-sectors-section.is-visible .cleanroom-sector-card:nth-child(7){transition-delay:.50s;}
.cleanroom-sectors-section.is-visible .cleanroom-sector-card:nth-child(8){transition-delay:.58s;}
.cleanroom-sectors-section.is-visible .cleanroom-sector-card:nth-child(9){transition-delay:.66s;}
.cleanroom-sectors-section.is-visible .cleanroom-sector-card:nth-child(10){transition-delay:.74s;}
.cleanroom-sectors-section.is-visible .cleanroom-sector-card:nth-child(11){transition-delay:.80s;}
.cleanroom-sectors-section.is-visible .cleanroom-sector-card:nth-child(12){transition-delay:.86s;}

/* Responsive */

@media(max-width:1024px){
  .cleanroom-sectors-section__inner{
    gap:45px 20px;
  }

  .cleanroom-sector-card{
    flex:0 0 calc(33.333% - 14px);
    max-width:240px;
  }
}

@media(max-width:768px){
  .cleanroom-sectors-section{
    padding:10px 20px 55px;
  }

  .cleanroom-sectors-section__inner{
    gap:40px 18px;
  }

  .cleanroom-sector-card{
    flex:0 0 calc(50% - 9px);
    max-width:260px;
  }

  .cleanroom-sector-card h3{
    font-size:22px;
  }
}

@media(max-width:480px){
  .cleanroom-sectors-section__inner{
    gap:35px;
  }

  .cleanroom-sector-card{
    flex:0 0 100%;
    max-width:280px;
  }

  .cleanroom-sector-card img{
    margin-bottom:14px;
  }

  .cleanroom-sector-card h3{
    font-size:22px;
  }
}
.cleanroom-projects-section{
  background:#fff;
  color:#000;
  padding:65px 0;
  overflow:hidden;
}

.cleanroom-projects-section,
.cleanroom-projects-section *{
  box-sizing:border-box;
}

.cleanroom-projects-section__inner{
  width:min(1300px,100%);
  margin:0 auto 42px;
  padding:0 20px;
}

.cleanroom-projects-section h2{
  margin:0;
  font-family:var(--font-title,"Saira Semi Condensed",Arial,sans-serif);
  font-size:40px;
  font-weight:700;
  line-height:1;
  color:#1d1c1d;
}

.cleanroom-projects-carousel{
  width:100%;
  overflow:hidden;
  cursor:grab;
  touch-action:pan-y;
}

.cleanroom-projects-carousel.is-dragging,
.cleanroom-projects-carousel.is-dragging *{
  cursor:grabbing!important;
}

.cleanroom-projects-track{
  display:flex;
  align-items:stretch;
  will-change:transform;
  user-select:none;
  -webkit-user-select:none;
}

.cleanroom-project-card{
  position:relative;
  flex:0 0 25%;
  min-width:25%;
  aspect-ratio:1 / 1;
  padding:0 10px;
  display:block;
  color:#000;
  text-decoration:none;
  user-select:none;
  -webkit-user-select:none;
  overflow:hidden;
}

.cleanroom-project-card__bg{
  position:absolute;
  inset:0 10px;
  background-image:var(--project-img);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  overflow:hidden;
}

.cleanroom-project-card__bg::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:rgba(0,0,0,.12);
  transition:background .3s ease;
}

.cleanroom-project-card__bg::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  border:0 solid #fff;
  transition:border .3s ease;
  pointer-events:none;
}

.cleanroom-project-card:hover .cleanroom-project-card__bg::before{
  background:rgba(0,0,0,.28);
}

.cleanroom-project-card:hover .cleanroom-project-card__bg::after{
  border:8px solid #fff;
}

.cleanroom-project-card__content{
  position:absolute;
  left:50%;
  top:50%;
  z-index:3;
  transform:translate(-50%, calc(-50% + 12px));
  opacity:0;
  text-align:center;
  transition:opacity .3s ease, transform .3s ease;
  pointer-events:none;
}

.cleanroom-project-card:hover .cleanroom-project-card__content{
  opacity:1;
  transform:translate(-50%, -50%);
}

.cleanroom-project-card h3,
.cleanroom-project-card h4{
  margin:0;
  display:inline-block;
  padding:10px;
  font-family:var(--font-title,"Saira Semi Condensed",Arial,sans-serif);
  font-size:24px;
  font-weight:500;
  line-height:1.5;
}

.cleanroom-project-card h3{
  background:#0f73b6;
  color:#fff;
  text-transform:uppercase;
}

.cleanroom-project-card h4{
  display:block;
  background:#fff;
  color:#000;
}

@media(max-width:1024px){
  .cleanroom-projects-section{
    padding:80px 0;
  }

  .cleanroom-project-card{
    flex-basis:50%;
    min-width:50%;
  }
}

@media(max-width:768px){
  .cleanroom-projects-section{
    padding:65px 0;
  }

  .cleanroom-projects-section h2{
    font-size:34px;
  }

  .cleanroom-project-card{
    flex-basis:100%;
    min-width:100%;
    padding:0 20px;
  }

  .cleanroom-project-card__bg{
    inset:0 20px;
  }
}

/* SERVICE LEVELS */

.service-levels{
  background:#fff;
  padding:0 20px 0;
  color:#000;
}

.service-levels__inner{
  width:min(1300px,100%);
  margin:0 auto;
}

.service-levels h2{
  margin:0 0 34px;
  font-family:var(--font-title,'Saira Semi Condensed',Arial,sans-serif);
  font-size:2.5rem;
  font-weight:600;
  line-height:1.2;
  color:#000;
}

.service-levels__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
  align-items:start;
}

.service-level-card{
  position:relative;
  min-height:300px;
  padding:60px 0 50px;
  background-position:top right;
  background-repeat:no-repeat;
  background-size:43% auto;
  overflow:hidden;
}

.service-level-card--01{
  background-image:url("/Files/Files/Images/TecService/01-gris-cropped.png");
}

.service-level-card--02{
  background-image:url("/Files/Files/Images/TecService/02-gris.png");
}

.service-level-card--03{
  background-image:url("/Files/Files/Images/TecService/03-gris.png");
}

.service-level-card h3{
  margin:0 0 6px;
  font-family:var(--font-title,'Saira Semi Condensed',Arial,sans-serif);
  font-size:22px;
  font-weight:600;
  line-height:1.5;
  color:#000;
}

.service-level-card p{
  margin:0 0 20px;
  font-family:var(--font-title,'Saira Semi Condensed',Arial,sans-serif);
  font-size:18px;
  font-weight:500;
  line-height:1.15;
  color:#000;
}

.service-level-card ul{
  list-style:none;
  margin:0;
  padding:0;
}

.service-level-card li{
  position:relative;
  margin:0 0 10px;
  padding-left:24px;
  font-family:var(--font-body,'Source Sans Pro',Arial,sans-serif);
  font-size:18px;
  font-weight:400;
  line-height:1.5;
  color:#1d1c1d;
}

.service-level-card li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:13px;
  height:13px;
  background:#1174b8;
  clip-path:polygon(0 0,100% 50%,0 100%);
}

@media(max-width:900px){
  .service-levels{
    padding:55px 20px 65px;
  }

  .service-levels h2{
    width:100%;
    max-width:100%;
    font-size:34px;
  }

  .service-levels__grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .service-level-card{
    min-height:0;
    padding:52px 0 34px;
    background-size:120px auto;
  }
}

@media(max-width:560px){
  .service-levels{
    padding:45px 20px 55px;
  }

  .service-levels h2{
    font-size:30px;
  }

  .service-level-card h3{
    font-size:22px;
  }

  .service-level-card p,
  .service-level-card li{
    font-size:16px;
  }
}

.valtria-jobs-section{
  background:#fff;
  padding:30px 10px 25px;
  color:#000;
  font-family:var(--font-body,'Source Sans Pro','Source Sans 3',Arial,sans-serif);
}

.valtria-jobs-inner{
  width:100%;
  max-width:1300px;
  margin:0 auto;
}

.valtria-jobs-title{
  margin:0 0 30px;
  font-family:var(--font-title,'Saira Semi Condensed','Arial Narrow',Arial,sans-serif);
  font-size:40px;
  font-weight:600;
  line-height:1;
}

.valtria-jobs-intro{
  max-width:900px;
  margin:0 0 30px;
  font-size:16px;
  line-height:1.2;
}

.valtria-jobs-subtitle{
  margin:0 0 34px;
  font-family:var(--font-title,'Saira Semi Condensed','Arial Narrow',Arial,sans-serif);
  font-size:24px;
  font-weight:700;
  line-height:1;
}

.valtria-jobs-list{
  display:grid;
  gap:20px;
}

.valtria-job-card{
  position:relative;
  overflow:hidden;
  min-height:126px;
  display:grid;
  grid-template-columns:160px 1fr auto;
  align-items:center;
  gap:30px;
  padding:26px;
  border:1px solid #d9d9d9;
  background:#fff;
  color:#000;
  text-decoration:none;
  transition:background .25s ease,border-color .25s ease;
}

.valtria-job-card:hover{
  background:#f3f3f3;
  border-color:#d9d9d9;
  color:#000;
}

.valtria-job-card__image{
  width:120px;
  min-height:0;
  background:transparent;
}

.valtria-job-card__image img{
  width:120px;
  height:auto;
  min-height:0;
  object-fit:contain;
  transition:none;
}

.valtria-job-card__content{
  padding:0;
}

.valtria-job-card h3{
  margin:0 0 8px;
  font-family:var(--font-title,'Saira Semi Condensed','Arial Narrow',Arial,sans-serif);
  font-size:26px;
  font-weight:700;
  line-height:1;
  color:#000;
}

.valtria-job-meta{
  display:grid;
  gap:6px;
  margin:0;
  padding:0;
  list-style:none;
}

.valtria-job-meta li{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:16px;
  line-height:1.1;
  color:#000;
}

.valtria-job-meta li::before{
  content:"";
  width:14px;
  height:14px;
  flex:0 0 14px;
  background:#333;
  mask-repeat:no-repeat;
  mask-position:center;
  mask-size:contain;
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-position:center;
  -webkit-mask-size:contain;
}

.valtria-job-meta li:first-child::before{
  mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M10 4h4a2 2 0 0 1 2 2v2h3a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h3V6a2 2 0 0 1 2-2Zm4 4V6h-4v2h4Z'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M10 4h4a2 2 0 0 1 2 2v2h3a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h3V6a2 2 0 0 1 2-2Zm4 4V6h-4v2h4Z'/%3E%3C/svg%3E");
}

.valtria-job-meta li:last-child::before{
  mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5Z'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5Z'/%3E%3C/svg%3E");
}

.valtria-job-card__cta{
  justify-self:end;
  align-self:center;
  position:relative;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-height:35px;
  padding:8px 14px 8px 18px;
  border-radius:999px;
  background:#1174b8;
  color:#fff;
  font-size:15px;
  font-weight:700;
  line-height:1;
  text-transform:uppercase;
  transition:background .25s ease,color .25s ease,transform .25s ease;
}

.valtria-job-card__cta span{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
}

.valtria-job-card__cta span::after{
  content:"";
  width:13px;
  height:13px;
  flex:0 0 13px;
  background:currentColor;
  mask:url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M10.48 3.52H4.2V2h8.88v8.88h-1.52V4.6L3.6 12.56 2.52 11.48l7.96-7.96Z'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask:url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M10.48 3.52H4.2V2h8.88v8.88h-1.52V4.6L3.6 12.56 2.52 11.48l7.96-7.96Z'/%3E%3C/svg%3E") center/contain no-repeat;
  transform:rotate(0deg);
  transition:transform .25s ease;
}

.valtria-job-card:hover .valtria-job-card__cta{
  background:#1174b8;
  color:#fff;
  transform:translateX(4px);
}

.valtria-job-card:hover .valtria-job-card__cta span::after{
  transform:rotate(45deg);
}

@media(max-width:760px){
  .valtria-jobs-section{
    padding:55px 20px 80px;
  }

  .valtria-jobs-title{
    font-size:38px;
  }

  .valtria-job-card{
    grid-template-columns:1fr;
    gap:16px;
    padding:24px;
  }

  .valtria-job-card__cta{
    justify-self:start;
  }
}

/* =========================================================
   THANKS PAGE
   Gracias por escribirnos
   ========================================================= */

.thanks-page,
.thanks-page * {
  box-sizing: border-box;
}

.thanks-page {
  width: 100%;
  background: #fff;
  color: #000;
}

/* SECTION
   --------------------------------------------------------- */

.thanks-page__section {
  width: 100%;
  padding: 170px 20px;
}

.thanks-page__inner {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;

  display: flex;
  flex-direction: column;
  align-items: center;

  text-align: center;
}


/* TITLE
   --------------------------------------------------------- */

.thanks-page__title {
  margin: 0;

  font-family: var(--font-title, "Saira Semi Condensed", sans-serif);
  font-size: 44px;
  font-weight: 700;
  line-height: 1.1;

  color: #000;
}


/* TEXT
   --------------------------------------------------------- */

.thanks-page__text {
  margin: 20px 0 0;

  font-family: var(--font-body, "Source Sans Pro", sans-serif);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.5;

  color: #000;
}


/* BUTTON
   --------------------------------------------------------- */

.thanks-page__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-direction: row-reverse;
  gap: 11px;

  margin-top: 30px;

  padding: 10px 50px 12px;

  background: #1174AE;
  border: 1px solid #d9d9d9;
  border-radius: 10px;

  color: #fff;

  font-family: var(--font-body, "Source Sans Pro", sans-serif);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;

  text-decoration: none;

  cursor: pointer;

  transition:
    background-color .3s ease,
    color .3s ease,
    border-color .3s ease,
    transform .3s ease;
}

.thanks-page__button-icon {
  width: 10px;
  height: 10px;

  flex: 0 0 auto;

  transform: rotate(0deg);
  transition: transform .5s ease;
}


/* HOVER
   --------------------------------------------------------- */

.thanks-page__button:hover,
.thanks-page__button:focus-visible {
  background: #000;
  color: #fff;
  border-color: #000;
}

.thanks-page__button:hover .thanks-page__button-icon,
.thanks-page__button:focus-visible .thanks-page__button-icon {
  transform: rotate(45deg);
}


/* RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 768px) {

  .thanks-page__section {
    padding: 90px 20px;
  }

  .thanks-page__title {
    font-size: 38px;
  }

  .thanks-page__text {
    font-size: 21px;
  }

}


@media (max-width: 480px) {

  .thanks-page__section {
    padding: 70px 20px;
  }

  .thanks-page__title {
    font-size: 32px;
  }

  .thanks-page__text {
    margin-top: 16px;
    font-size: 19px;
  }

  .thanks-page__button {
    margin-top: 28px;
    padding: 10px 38px 12px;
  }

}

.job-detail-page{
      width:100%;
      overflow:hidden;
      background:#fff;
      color:#000;
      font-family:var(--font-body,'Source Sans Pro','Source Sans 3',Arial,sans-serif);
    }

    .job-detail-page *{
      box-sizing:border-box;
    }

    .job-detail-container{
      width:min(1300px,100%);
      margin:0 auto;
      padding:0 20px;
    }

    .job-detail-hero{
      position:relative;
      height:265px;
      padding:70px 20px 0;
      display:flex;
      align-items:center;
      justify-content:center;
      text-align:center;
      color:#fff;
      background:
        linear-gradient(rgba(0,0,0,.38),rgba(0,0,0,.38)),
        url("https://valtria.com/wp-content/uploads/2024/08/hero-trabaja.jpg") center center/cover no-repeat;
    }

    .job-detail-hero h1{
      margin:0;
      font-family:var(--font-title,'Saira Semi Condensed',Arial,sans-serif);
      font-size:54px;
      font-weight:600;
      line-height:1;
      color:#fff;
    }

    .job-detail-summary{
      background:#f4f7fb;
      padding:42px 0;
    }

    .job-detail-summary__inner{
      width:min(1300px,100%);
      margin:0 auto;
      padding:0;
      display:grid;
      grid-template-columns:minmax(0,1000px) 205px;
      justify-content:space-between;
      align-items:center;
      gap:60px;
    }

    .job-detail-card{
      display:grid;
      grid-template-columns:135px 1fr;
      align-items:center;
      gap:40px;
    }

    .job-detail-logo{
      width:135px;
      padding:0;
      background:#fff;
      box-shadow:0 18px 40px rgba(0,0,0,.14);
    }

    .job-detail-logo img{
      width:100%;
      height:auto;
      display:block;
    }

    .job-detail-info h2{
      margin:0 0 8px;
      font-family:var(--font-title,'Saira Semi Condensed',Arial,sans-serif);
      font-size:40px;
      font-weight:700;
      line-height:1;
      color:#000;
    }

    .job-detail-meta{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin:0;
      padding:0;
      list-style:none;
    }

    .job-detail-meta li{
      display:flex;
      align-items:center;
      gap:6px;
      font-size:16px;
      line-height:1.5;
      color:#000;
    }

    .job-detail-meta svg{
      width:13px;
      height:13px;
      flex:0 0 13px;
      fill:#333;
    }

    .job-detail-apply{
      justify-self:end;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      width:205px;
      min-height:47px;
      padding:12px 22px;
      border:0;
      border-radius:0;
      background:#000;
      color:#fff;
      font-family:var(--font-body,'Source Sans Pro',Arial,sans-serif);
      font-size:13px;
      font-weight:700;
      line-height:1;
      text-transform:uppercase;
      cursor:pointer;
      transition:.25s ease;
    }

    .job-detail-apply::after{
      content:"↗";
      font-size:15px;
      line-height:1;
      transition:.25s ease;
    }

    .job-detail-apply:hover{
      background:#1174b8;
    }

    .job-detail-apply:hover::after{
      transform:rotate(45deg);
    }

    .job-detail-breadcrumbs{
      background:#fff;
      padding:12px 0;
      font-family:var(--font-title,'Saira Semi Condensed',Arial,sans-serif);
      font-size:14px;
      line-height:1.5;
    }

    .job-detail-breadcrumbs__inner{
      width:min(1300px,100%);
      margin:0 auto;
      padding:0 20px;
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:8px;
    }

    .job-detail-breadcrumbs a,
    .job-detail-breadcrumbs .sep{
      color:#1174b8;
      font-weight:700;
    }

    .job-detail-breadcrumbs span{
      color:#1d1c1d;
    }

    /* =========================
       CONTENIDO OFERTA
       ========================= */

    .job-detail-content{
      background:#fff;
      padding:50px 0 65px;
    }

    .job-detail-layout{
      width:min(1300px,100%);
      margin:0 auto;
      padding:0;
      display:grid;
      grid-template-columns:minmax(0,780px) 340px;
      justify-content:space-between;
      align-items:start;
      gap:80px;
    }

    .job-detail-copy{
      min-width:0;
    }

    .job-detail-copy h2{
      margin:45px 0 25px;
      font-family:var(--font-title,'Saira Semi Condensed',Arial,sans-serif);
      font-size:40px;
      font-weight:600;
      line-height:1;
      color:#000;
      border-bottom:2px solid #000;
      padding-bottom:10px;
    }

    .job-detail-copy h2:first-child{
      margin-top:0;
    }

    .job-detail-copy h3{
      margin:0 0 10px;
      font-family:var(--font-title,'Saira Semi Condensed',Arial,sans-serif);
      font-size:25px;
      font-weight:700;
      line-height:1;
      color:#000;
    }

    .job-detail-copy p{
      margin:0 0 10px;
      font-size:16px;
      line-height:1.5;
      color:#000;
    }

    .job-detail-copy ul{
      margin:0 0 30px 30px;
      padding:0;
      list-style:none;
    }

    .job-detail-copy li{
      position:relative;
      margin:0 0 5px;
      padding-left:24px;
      font-size:16px;
      line-height:1.5;
      color:#000;
    }

    .job-detail-copy li::before{
      content:"";
      position:absolute;
      left:0;
      top:.55em;
      width:11px;
      height:11px;
      background:#1174b8;
      clip-path:polygon(0 0,100% 50%,0 100%);
    }

    .job-detail-side{
      position:sticky;
      top:95px;
      width:340px;
      padding:34px 28px;
      background:#f4f7fb;
      border:1px solid #d9d9d9;
    }

    .job-detail-side h2{
      margin:0 0 28px;
      font-family:var(--font-title,'Saira Semi Condensed',Arial,sans-serif);
      font-size:30px;
      font-weight:700;
      line-height:1;
      color:#000;
    }

    .job-detail-side__item{
      padding:0 0 20px;
      margin:0 0 20px;
      border-bottom:1px solid #d5d5d5;
    }

    .job-detail-side__item:last-child{
      margin-bottom:0;
      padding-bottom:0;
      border-bottom:0;
    }

    .job-detail-side h3{
      margin:0 0 6px;
      font-family:var(--font-title,'Saira Semi Condensed',Arial,sans-serif);
      font-size:20px;
      font-weight:700;
      line-height:1.1;
      color:#1174b8;
    }

    .job-detail-side p{
      margin:0;
      font-size:17px;
      line-height:1.3;
      color:#000;
    }

    .job-detail-back{
      display:inline-flex;
      align-items:center;
      gap:8px;
      margin:36px 0 0;
      font-family:var(--font-title,'Saira Semi Condensed',Arial,sans-serif);
      font-size:18px;
      font-weight:700;
      color:#000;
      text-decoration:none;
    }

    .job-detail-back::before{
      content:"←";
      color:#1174b8;
    }

    /* =========================
       FORMULARIO INLINE
       ========================= */

    .job-application-content{
      display:none;
      width:100%;
      background:#fff;
      padding:50px 20px 65px;
    }

    .job-application-content.is-open{
      display:block;
    }

    .job-application-inner{
      width:min(1300px,100%);
      margin:0 auto;
    }

    .job-application-back{
      display:inline-flex;
      align-items:center;
      gap:8px;
      margin:0 0 45px;
      padding:0;
      border:0;
      background:transparent;
      color:#1174b8;
      font-family:var(--font-body,'Source Sans Pro',Arial,sans-serif);
      font-size:16px;
      font-weight:600;
      line-height:1.5;
      text-transform:uppercase;
      cursor:pointer;
    }

    .job-application-back::before{
      content:"←";
      font-size:18px;
      line-height:1;
    }

    .job-application-back:hover{
      color:#000;
    }

    .job-application-card{
      width:min(1300px,100%);
      margin:0 auto;
      background:#fff;
      color:#000;
    }

    .job-application-card h2{
      margin:0 0 40px;
      font-family:var(--font-title,'Saira Semi Condensed',Arial,sans-serif);
      font-size:40px;
      font-weight:600;
      line-height:1;
      color:#000;
    }

    .job-form{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:22px 28px;
    }

    .job-field{
      display:flex;
      flex-direction:column;
      gap:6px;
      min-width:0;
    }

    .job-field--full{
      grid-column:1/-1;
    }

    .job-field label{
      color:#000;
      font-family:var(--font-body,'Source Sans Pro',Arial,sans-serif);
      font-size:14px;
      font-weight:600;
      line-height:1.2;
    }

    .job-form input:not([type="checkbox"]):not([type="file"]),
    .job-form select,
    .job-form textarea{
      width:100%;
      min-height:44px;
      padding:8px 4px;
      border:0;
      border-bottom:1px solid #000;
      border-radius:0;
      background:#fff;
      color:#000;
      box-shadow:none!important;
      font-family:var(--font-body,'Source Sans Pro',Arial,sans-serif);
      font-size:16px;
      line-height:1.5;
      outline:none;
    }

    .job-form input:not([type="checkbox"]):not([type="file"]):focus,
    .job-form select:focus,
    .job-form textarea:focus{
      border-bottom-color:#1174b8;
      box-shadow:none!important;
    }

    .job-form input::placeholder,
    .job-form textarea::placeholder{
      color:#777;
      opacity:1;
    }

    .job-form select{
      color:#000;
      cursor:pointer;
    }

    .job-form small{
      display:block;
      margin-top:3px;
      color:#555;
      font-size:13px;
      line-height:1.3;
    }

    /* =========================
       IDIOMAS MULTISELECT
       ========================= */

    .job-languages{
      grid-column:1/-1;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:28px;
      margin-top:4px;
    }

    .job-language-box{
      min-width:0;
    }

    .job-language-title{
      display:block;
      margin:0 0 10px;
      color:#000;
      font-family:var(--font-body,'Source Sans Pro',Arial,sans-serif);
      font-size:14px;
      font-weight:600;
      line-height:1.2;
    }

    .job-language-options{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
    }

    .job-language-option{
      position:relative;
      display:inline-flex;
      cursor:pointer;
      user-select:none;
      -webkit-user-select:none;
    }

    .job-language-option input{
      position:absolute;
      opacity:0;
      pointer-events:none;
      width:0;
      height:0;
    }

    .job-language-option span{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:36px;
      padding:7px 14px;
      border:1px solid #c9c9c9;
      border-radius:18px;
      background:#fff;
      color:#333;
      font-family:var(--font-body,'Source Sans Pro',Arial,sans-serif);
      font-size:14px;
      font-weight:400;
      line-height:1;
      transition:
        background .2s ease,
        color .2s ease,
        border-color .2s ease,
        transform .2s ease;
    }

    .job-language-option:hover span{
      border-color:#1174b8;
      color:#1174b8;
    }

    .job-language-option input:checked + span{
      background:#1174b8;
      border-color:#1174b8;
      color:#fff;
    }

    .job-language-option input:focus-visible + span{
      outline:2px solid #000;
      outline-offset:2px;
    }

    .job-language-option input:checked + span::before{
      content:"✓";
      display:inline-block;
      margin-right:6px;
      font-size:12px;
      font-weight:700;
    }

    /* =========================
       DRAG & DROP CV
       ========================= */

    .job-cv-field{
      grid-column:1/-1;
      margin-top:4px;
    }

    .job-cv-field > label{
      display:block;
      margin:0 0 10px;
      color:#000;
      font-family:var(--font-body,'Source Sans Pro',Arial,sans-serif);
      font-size:14px;
      font-weight:600;
      line-height:1.2;
    }

    .job-cv-dropzone{
      position:relative;
      width:100%;
      min-height:175px;
      padding:28px 24px;
      display:flex;
      align-items:center;
      justify-content:center;
      border:1.5px dashed #aaa;
      background:#fafafa;
      color:#000;
      text-align:center;
      cursor:pointer;
      transition:
        border-color .25s ease,
        background .25s ease,
        transform .25s ease;
    }

    .job-cv-dropzone:hover{
      border-color:#1174b8;
      background:#f4f8fb;
    }

    .job-cv-dropzone.is-dragging{
      border-color:#1174b8;
      background:#eef6fb;
    }

    .job-cv-dropzone.is-invalid{
      border-color:#d40000!important;
      background:#fff7f7;
    }

    .job-cv-input{
      position:absolute!important;
      width:1px!important;
      height:1px!important;
      padding:0!important;
      margin:-1px!important;
      overflow:hidden!important;
      clip:rect(0,0,0,0)!important;
      white-space:nowrap!important;
      border:0!important;
      opacity:0!important;
    }

    .job-cv-empty{
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
    }

    .job-cv-icon{
      width:48px;
      height:48px;
      margin:0 auto 13px;
      display:flex;
      align-items:center;
      justify-content:center;
      color:#1174b8;
    }

    .job-cv-icon svg{
      width:48px;
      height:48px;
      display:block;
      fill:none;
      stroke:currentColor;
      stroke-width:1.5;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    .job-cv-main{
      display:block;
      margin:0 0 5px;
      font-size:16px;
      font-weight:600;
      line-height:1.3;
      color:#000;
    }

    .job-cv-main strong{
      color:#1174b8;
    }

    .job-cv-help{
      display:block;
      color:#777;
      font-size:13px;
      line-height:1.4;
    }

    .job-cv-selected{
      display:none;
      width:100%;
      align-items:center;
      justify-content:center;
      gap:15px;
    }

    .job-cv-dropzone.has-file .job-cv-empty{
      display:none;
    }

    .job-cv-dropzone.has-file .job-cv-selected{
      display:flex;
    }

    .job-cv-file-icon{
      width:46px;
      height:54px;
      flex:0 0 46px;
      position:relative;
      border:2px solid #1174b8;
      display:flex;
      align-items:center;
      justify-content:center;
      color:#1174b8;
      font-size:11px;
      font-weight:700;
      text-transform:uppercase;
    }

    .job-cv-file-info{
      min-width:0;
      text-align:left;
    }

    .job-cv-file-name{
      display:block;
      max-width:420px;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
      color:#000;
      font-size:16px;
      font-weight:600;
      line-height:1.3;
    }

    .job-cv-file-size{
      display:block;
      margin-top:3px;
      color:#777;
      font-size:13px;
      line-height:1.3;
    }

    .job-cv-remove{
      flex:0 0 auto;
      width:34px;
      height:34px;
      padding:0;
      border:1px solid #ccc;
      border-radius:50%;
      background:#fff;
      color:#000;
      font-family:Arial,sans-serif;
      font-size:20px;
      font-weight:400;
      line-height:30px;
      text-align:center;
      cursor:pointer;
      transition:.2s ease;
    }

    .job-cv-remove:hover{
      background:#000;
      border-color:#000;
      color:#fff;
    }

    .job-cv-error{
      display:none;
      margin:8px 0 0;
      color:#d40000;
      font-size:13px;
      font-weight:600;
      line-height:1.3;
    }

    .job-cv-error.is-visible{
      display:block;
    }

    /* =========================
       PRIVACIDAD + ENVÍO
       ========================= */

    .job-check{
      grid-column:1/-1;
      display:flex;
      align-items:flex-start;
      gap:9px;
      margin:0;
      color:#000;
      font-size:13px;
      line-height:1.35;
      cursor:pointer;
    }

    .job-check input{
      width:14px;
      height:14px;
      min-height:14px;
      flex:0 0 14px;
      margin:2px 0 0;
      padding:0;
      accent-color:#1174b8;
    }

    .job-check a{
      color:#1174b8;
      font-weight:700;
      text-decoration:none;
    }

    .job-check a:hover{
      text-decoration:underline;
    }

    .job-required-text{
      grid-column:1/-1;
      margin:0;
      color:#000;
      font-size:13px;
      line-height:1.3;
    }

    .job-form-message{
      grid-column:1/-1;
      display:none;
      padding:12px 14px;
      border:1px solid #910606;
      background:#fff;
      color:#910606;
      font-size:14px;
      font-weight:700;
    }

    .job-form-message.is-visible{
      display:block;
    }

    .job-form .is-invalid:not(.job-cv-dropzone){
      border-bottom-color:#d40000!important;
    }

    .job-check input.is-invalid{
      outline:2px solid #d40000;
      outline-offset:2px;
    }

    .job-submit{
      grid-column:1/-1;
      justify-self:start;
      display:inline-flex;
      flex-direction:row-reverse;
      align-items:center;
      justify-content:center;
      gap:9px;
      min-width:150px;
      margin-top:10px;
      padding:12px 22px;
      border:0;
      border-radius:0;
      background:#000;
      color:#fff;
      font-family:var(--font-body,'Source Sans Pro',Arial,sans-serif);
      font-size:15px;
      font-weight:600;
      line-height:1.5;
      text-transform:uppercase;
      cursor:pointer;
      transition:.25s ease;
    }

    .job-submit::before{
      content:"↗";
      display:inline-block;
      font-size:16px;
      transition:transform .25s ease;
    }

    .job-submit:hover{
      background:#1174b8;
    }

    .job-submit:hover::before{
      transform:rotate(45deg);
    }

    @media(max-width:980px){
      .job-detail-summary__inner,
      .job-detail-layout{
        grid-template-columns:1fr;
        gap:38px;
      }

      .job-detail-summary__inner{
        padding:0 20px;
      }

      .job-detail-apply{
        justify-self:start;
      }

      .job-detail-side{
        position:static;
        width:100%;
      }
    }

    @media(max-width:760px){
      .job-detail-hero{
        height:235px;
        padding-top:70px;
      }

      .job-detail-hero h1{
        font-size:42px;
      }

      .job-detail-summary{
        padding:34px 0;
      }

      .job-detail-card{
        grid-template-columns:90px 1fr;
        gap:18px;
      }

      .job-detail-logo{
        width:90px;
        padding:16px 6px;
      }

      .job-detail-info h2{
        font-size:22px;
      }

      .job-detail-meta{
        flex-direction:column;
        gap:7px;
      }

      .job-detail-apply{
        width:100%;
      }

      .job-detail-content{
        padding:55px 20px 75px;
      }

      .job-detail-copy h2{
        font-size:38px;
      }

      .job-detail-copy h3{
        font-size:26px;
      }

      .job-application-content{
        padding:50px 20px 70px;
      }

      .job-application-card h2{
        font-size:34px;
      }

      .job-form{
        grid-template-columns:1fr;
        gap:20px;
      }

      .job-field--full,
      .job-required-text,
      .job-check,
      .job-form-message,
      .job-submit,
      .job-languages,
      .job-cv-field{
        grid-column:1;
      }

      .job-languages{
        grid-template-columns:1fr;
        gap:25px;
      }

      .job-cv-dropzone{
        min-height:190px;
        padding:25px 18px;
      }

      .job-cv-selected{
        flex-wrap:wrap;
      }

      .job-cv-file-info{
        max-width:calc(100% - 70px);
      }

      .job-cv-file-name{
        max-width:100%;
      }
    }

/* =========================
   VALTRIA AUTHOR
   ========================= */

.valtria-author,
.valtria-author * {
  box-sizing: border-box;
}

.valtria-author {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 25px 0 0;
  width: 100%;
}


/* IMAGEN
   ------------------------- */

.valtria-author > img {
  display: block;
  flex: 0 0 60px;

  width: 60px;
  height: 60px;

  object-fit: cover;
  border-radius: 50%;
  margin: 0;
}


/* CONTENIDO
   ------------------------- */

.valtria-author__content {
  display: flex;
  flex-direction: column;
  justify-content: center;

  gap: 8px;
  min-width: 0;
}


/* NOMBRE + CARGO
   ------------------------- */

.valtria-author__name,
.valtria-author__role {
  margin: 0;

  font-family: var(--font-body, "Source Sans Pro", sans-serif);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.25;

  color: #000;
}

.valtria-author__name {
  font-weight: 400;
}


/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 768px) {

  .valtria-author {
    gap: 20px;
  }

  .valtria-author > img {
    flex: 0 0 82px;

    width: 82px;
    height: 82px;
  }

  .valtria-author__content {
    gap: 7px;
  }

  .valtria-author__name,
  .valtria-author__role {
    font-size: 15px;
  }

}
/* =========================================================
   VALTRIA COOKIES
   ========================================================= */

.vcookie-banner,
.vcookie-banner *,
.vcookie-modal,
.vcookie-modal *,
.vcookie-reopen {
  box-sizing: border-box;
}


/* =========================================================
   BANNER
   ========================================================= */

.vcookie-banner {
  position: fixed;
  z-index: 999999;

  left: 20px;
  right: 20px;
  bottom: 20px;

  font-family: var(--font-body, "Source Sans Pro", sans-serif);
}

.vcookie-banner[hidden],
.vcookie-modal[hidden],
.vcookie-reopen[hidden] {
  display: none !important;
}

.vcookie-banner__inner {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 40px;

  padding: 26px 30px;

  background: #fff;

  border: 1px solid #dedede;
  border-radius: 12px;

  box-shadow:
    0 20px 70px rgba(0, 0, 0, .17),
    0 3px 12px rgba(0, 0, 0, .08);
}


/* CONTENT */

.vcookie-banner__content {
  max-width: 720px;
}

.vcookie-banner__title {
  margin: 0 0 8px;

  font-family: var(--font-title, "Saira Semi Condensed", sans-serif);
  font-size: 25px;
  font-weight: 600;
  line-height: 1.1;

  color: #000;
}

.vcookie-banner__text {
  margin: 0;

  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;

  color: #555;
}

.vcookie-banner__link {
  display: inline-block;

  margin-top: 8px;

  font-size: 14px;
  font-weight: 500;

  color: var(--blue, #0f73b6);

  text-decoration: underline;
  text-underline-offset: 3px;
}

.vcookie-banner__link:hover {
  color: #000;
}


/* BUTTONS */

.vcookie-banner__actions {
  flex: 0 0 auto;

  display: flex;
  align-items: center;

  gap: 9px;
}

.vcookie-btn {
  appearance: none;
  -webkit-appearance: none;

  min-height: 44px;

  padding: 11px 22px;

  font-family: var(--font-body, "Source Sans Pro", sans-serif);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;

  border-radius: 7px;

  cursor: pointer;

  transition:
    background-color .25s ease,
    border-color .25s ease,
    color .25s ease;
}

.vcookie-btn--primary {
  background: var(--blue, #0f73b6);

  border: 1px solid var(--blue, #0f73b6);

  color: #fff;
}

.vcookie-btn--primary:hover {
  background: #000;
  border-color: #000;

  color: #fff;
}

.vcookie-btn--outline {
  background: #fff;

  border: 1px solid #bdbdbd;

  color: #000;
}

.vcookie-btn--outline:hover {
  background: #f3f3f3;

  border-color: #888;
}


/* =========================================================
   MODAL
   ========================================================= */

.vcookie-modal {
  position: fixed;
  z-index: 1000000;

  inset: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 25px;

  font-family: var(--font-body, "Source Sans Pro", sans-serif);
}

.vcookie-modal__overlay {
  position: absolute;
  inset: 0;

  background: rgba(0, 0, 0, .62);

  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.vcookie-modal__dialog {
  position: relative;
  z-index: 1;

  width: 100%;
  max-width: 680px;

  max-height: calc(100vh - 50px);

  overflow-y: auto;

  background: #fff;

  border-radius: 14px;

  box-shadow: 0 30px 100px rgba(0, 0, 0, .3);
}


/* CLOSE */

.vcookie-modal__close {
  position: absolute;

  top: 20px;
  right: 20px;

  width: 40px;
  height: 40px;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 0;

  border: 0;
  border-radius: 50%;

  background: #f1f1f1;

  color: #000;

  cursor: pointer;

  transition: background-color .2s ease;
}

.vcookie-modal__close:hover {
  background: #dedede;
}

.vcookie-modal__close svg {
  width: 18px;
  height: 18px;
}


/* HEADER */

.vcookie-modal__header {
  padding: 38px 40px 27px;

  border-bottom: 1px solid #e4e4e4;
}

.vcookie-modal__eyebrow {
  display: block;

  margin-bottom: 8px;

  color: var(--blue, #0f73b6);

  font-size: 12px;
  font-weight: 600;

  text-transform: uppercase;
  letter-spacing: .1em;
}

.vcookie-modal__title {
  margin: 0 50px 10px 0;

  font-family: var(--font-title, "Saira Semi Condensed", sans-serif);
  font-size: 32px;
  font-weight: 600;
  line-height: 1.1;

  color: #000;
}

.vcookie-modal__description {
  margin: 0;

  max-width: 560px;

  font-size: 15px;
  line-height: 1.5;

  color: #626262;
}


/* BODY */

.vcookie-modal__body {
  padding: 0 40px;
}


/* CATEGORY */

.vcookie-category {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 35px;

  padding: 25px 0;

  border-bottom: 1px solid #e6e6e6;
}

.vcookie-category:last-child {
  border-bottom: 0;
}

.vcookie-category__content {
  min-width: 0;
}

.vcookie-category__heading {
  display: flex;
  align-items: center;

  gap: 10px;

  margin-bottom: 5px;
}

.vcookie-category__title {
  margin: 0 0 5px;

  font-family: var(--font-title, "Saira Semi Condensed", sans-serif);
  font-size: 19px;
  font-weight: 600;
  line-height: 1.2;

  color: #000;
}

.vcookie-category__heading .vcookie-category__title {
  margin-bottom: 0;
}

.vcookie-category__status {
  display: inline-flex;

  padding: 5px 9px;

  background: #eaf4fa;

  border-radius: 20px;

  color: var(--blue, #0f73b6);

  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}

.vcookie-category__text {
  margin: 0;

  font-size: 14px;
  line-height: 1.5;

  color: #666;
}


/* =========================================================
   SWITCH
   ========================================================= */

.vcookie-switch {
  position: relative;

  flex: 0 0 48px;

  width: 48px;
  height: 26px;

  cursor: pointer;
}

.vcookie-switch input {
  position: absolute;

  width: 1px;
  height: 1px;

  opacity: 0;
}

.vcookie-switch__slider {
  position: absolute;
  inset: 0;

  background: #c9c9c9;

  border-radius: 30px;

  transition: background-color .25s ease;
}

.vcookie-switch__slider::before {
  content: "";

  position: absolute;

  top: 3px;
  left: 3px;

  width: 20px;
  height: 20px;

  background: #fff;

  border-radius: 50%;

  box-shadow: 0 2px 5px rgba(0, 0, 0, .22);

  transition: transform .25s ease;
}

.vcookie-switch input:checked + .vcookie-switch__slider {
  background: var(--blue, #0f73b6);
}

.vcookie-switch input:checked + .vcookie-switch__slider::before {
  transform: translateX(22px);
}

.vcookie-switch--locked {
  cursor: default;
}


/* =========================================================
   MODAL FOOTER
   ========================================================= */

.vcookie-modal__footer {
  display: flex;
  justify-content: flex-end;

  gap: 10px;

  padding: 23px 40px 30px;

  background: #f7f7f7;

  border-radius: 0 0 14px 14px;
}

.vcookie-btn--modal-outline {
  background: transparent;

  border: 1px solid #bdbdbd;

  color: #000;
}

.vcookie-btn--modal-outline:hover {
  background: #eaeaea;
}


/* =========================================================
   REOPEN BUTTON
   ========================================================= */

.vcookie-reopen {
  position: fixed;

  left: 18px;
  bottom: 18px;

  z-index: 99990;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 48px;
  height: 48px;

  padding: 0;

  background: var(--blue, #0f73b6);

  border: 0;
  border-radius: 50%;

  color: #fff;

  box-shadow: 0 5px 18px rgba(0, 0, 0, .2);

  cursor: pointer;

  transition:
    background-color .25s ease,
    transform .25s ease;
}

.vcookie-reopen:hover {
  background: #000;

  transform: scale(1.05);
}

.vcookie-reopen svg {
  width: 25px;
  height: 25px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 950px) {

  .vcookie-banner__inner {
    flex-direction: column;
    align-items: flex-start;

    gap: 20px;
  }

  .vcookie-banner__actions {
    width: 100%;

    justify-content: flex-end;
  }

}


@media (max-width: 600px) {

  .vcookie-banner {
    left: 10px;
    right: 10px;
    bottom: 10px;
  }

  .vcookie-banner__inner {
    padding: 22px 20px;

    border-radius: 10px;
  }

  .vcookie-banner__title {
    font-size: 22px;
  }

  .vcookie-banner__text {
    font-size: 14px;
  }

  .vcookie-banner__actions {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 8px;
  }

  .vcookie-banner__actions .vcookie-btn {
    width: 100%;
  }

  .vcookie-banner__actions .vcookie-btn--primary {
    grid-column: 1 / -1;
  }


  /* MODAL */

  .vcookie-modal {
    align-items: flex-end;

    padding: 0;
  }

  .vcookie-modal__dialog {
    max-height: 92vh;

    border-radius: 15px 15px 0 0;
  }

  .vcookie-modal__header {
    padding:
      32px
      22px
      22px;
  }

  .vcookie-modal__title {
    font-size: 27px;
  }

  .vcookie-modal__body {
    padding: 0 22px;
  }

  .vcookie-category {
    align-items: flex-start;

    gap: 20px;

    padding: 21px 0;
  }

  .vcookie-category__heading {
    flex-direction: column;
    align-items: flex-start;

    gap: 7px;
  }

  .vcookie-modal__footer {
    display: grid;

    grid-template-columns: 1fr;

    padding:
      18px
      22px
      24px;
  }

  .vcookie-modal__footer .vcookie-btn {
    width: 100%;
  }

  .vcookie-reopen {
    width: 44px;
    height: 44px;

    left: 12px;
    bottom: 12px;
  }

  .vcookie-reopen svg {
    width: 23px;
    height: 23px;
  }

}
/* =========================================================
   HISTORY YEARS - VENTANA DINÁMICA PARA PANTALLAS BAJAS
   ========================================================= */

.history-years a[data-target]{
  transition:
    opacity .25s ease,
    visibility .25s ease;
}

/* Los años que quedan fuera de la ventana se eliminan
   del layout para que no ocupen altura */
.history-years a.history-year-hidden{
  display:none!important;
}

/* En pantallas grandes seguimos mostrando todos */
@media (min-height:900px){
  .history-years a.history-year-hidden{
    display:grid!important;
  }
}  
/* =========================================================
   VALTRIA PROCESS — INTERACTIVE PANELS
   ========================================================= */

.valtria-process-panels,
.valtria-process-panels *{
  box-sizing:border-box;
}

.valtria-process-panels{
  position:relative;

  width:100%;

  padding:65px 0 0;

  background:#050505;
  color:#fff;

  overflow:hidden;
}

.valtria-process-panels__inner{
  width:100%;
  margin:0 auto;
}


/* =========================================================
   HEADER
   ========================================================= */

.valtria-process-panels__header{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);
  gap:80px;
  align-items:end;

  width:min(calc(100% - 80px),1300px);

  margin:0 auto;
  padding-bottom:40px;
}

.valtria-process-panels__eyebrow{
  display:flex;
  align-items:center;
  gap:14px;

  margin-bottom:22px;

  color:#60a0d7;

  font-family:var(--font-body,"Source Sans Pro",Arial,sans-serif);
  font-size:12px;
  font-weight:700;
  letter-spacing:.17em;

  text-transform:uppercase;
}

.valtria-process-panels__eyebrow::before{
  content:"";

  width:34px;
  height:2px;

  background:var(--blue,#0f73b6);
}

.valtria-process-panels__title{
  max-width:800px;

  margin:0;

  font-family:var(--font-title,"Saira Semi Condensed",Arial,sans-serif);
  font-size:clamp(38px,4vw,54px);
  font-weight:700;

  letter-spacing:-.035em;
  line-height:.9;

  text-transform:uppercase;
}

.valtria-process-panels__header-copy{
  max-width:400px;

  justify-self:end;
}

.valtria-process-panels__percentage{
  display:block;

  margin-bottom:15px;

  color:#60a0d7;

  font-family:var(--font-title,"Saira Semi Condensed",Arial,sans-serif);
  font-size:clamp(45px,4vw,65px);
  font-weight:700;

  letter-spacing:-.06em;
  line-height:.8;
}

.valtria-process-panels__header-copy p{
  margin:0;

  color:#999;

  font-family:var(--font-body,"Source Sans Pro",Arial,sans-serif);
  font-size:16px;

  line-height:1.55;
}


/* =========================================================
   PANELS
   ========================================================= */

.valtria-process-panels__grid{
  display:flex;

  width:100%;
  height:400px;

  border-top:1px solid rgba(255,255,255,.12);
}

.valtria-process-panel{
  position:relative;

  flex:1 1 0;

  min-width:0;
  height:100%;

  border-right:1px solid rgba(255,255,255,.13);

  overflow:hidden;

  cursor:pointer;

  outline:none;

  transition:
    flex .7s cubic-bezier(.22,.61,.36,1);
}

.valtria-process-panel:first-child{
  border-left:1px solid rgba(255,255,255,.13);
}


/* =========================================================
   IMAGE
   ========================================================= */

.valtria-process-panel__background{
  position:absolute;
  inset:-12px;

  background-image:
    linear-gradient(
      to top,
      rgba(0,0,0,.8) 0%,
      rgba(0,0,0,.5) 32%,
      rgba(0,0,0,.3) 70%,
      rgba(0,0,0,.1) 100%
    ),
    var(--panel-image);

  background-size:cover;
  background-position:center;

  filter:grayscale(100%);

  opacity:1;

  transform:scale(1.08);

  transition:
    opacity .65s ease,
    filter .65s ease,
    transform 1.1s cubic-bezier(.22,.61,.36,1);
}

.valtria-process-panel::before{
  content:"";

  position:absolute;
  inset:0;

  z-index:1;

  background:
    linear-gradient(
      180deg,
      rgba(15,115,182,0) 0%,
      rgba(15,115,182,.04) 58%,
      rgba(15,115,182,.16) 100%
    );

  opacity:0;

  transition:opacity .5s ease;
}

.valtria-process-panel::after{
  content:"";

  position:absolute;
  left:0;
  bottom:0;
  z-index:4;

  width:100%;
  height:4px;

  background:#60a0d7;

  transform:scaleX(0);
  transform-origin:left center;

  transition:
    transform .6s cubic-bezier(.22,.61,.36,1);
}


/* =========================================================
   ACTIVE PANEL
   ========================================================= */

.valtria-process-panel.is-active{
  flex:2.35 1 0;
}

.valtria-process-panel.is-active .valtria-process-panel__background{
  opacity:.72;

  filter:grayscale(15%);

  transform:scale(1);
}

.valtria-process-panel.is-active::before{
  opacity:1;
}

.valtria-process-panel.is-active::after{
  transform:scaleX(1);
}


/* =========================================================
   CONTENT
   ========================================================= */

.valtria-process-panel__content{
  position:absolute;
  inset:0;
  z-index:3;

  display:flex;
  flex-direction:column;
  justify-content:flex-end;

  padding:42px 30px 48px;
}

.valtria-process-panel__number{
  position:absolute;

  top:35px;
  left:30px;

  color:rgba(255,255,255,.18);

  font-family:var(--font-title,"Saira Semi Condensed",Arial,sans-serif);
  font-size:56px;
  font-weight:700;

  letter-spacing:-.05em;
  line-height:1;

  transition:
    color .45s ease,
    transform .45s ease;
}

.valtria-process-panel.is-active .valtria-process-panel__number{
  color:#60a0d7;

  transform:translateY(4px);
}

.valtria-process-panel__main{
  position:relative;
}

.valtria-process-panel__title{
  max-width:420px;

  margin:0;

  color:#fff;

  font-family:var(--font-title,"Saira Semi Condensed",Arial,sans-serif);
  font-size:clamp(22px,1.65vw,31px);
  font-weight:700;

  letter-spacing:-.015em;
  line-height:1;

  text-transform:uppercase;

  writing-mode:vertical-rl;

  transform:rotate(180deg);

  transition:
    font-size .5s ease,
    transform .5s ease,
    color .4s ease;
}

.valtria-process-panel.is-active .valtria-process-panel__title{
  font-size:clamp(30px,2.5vw,44px);

  writing-mode:horizontal-tb;

  transform:none;
}

.valtria-process-panel__hidden{
  max-width:400px;
  max-height:0;

  opacity:0;
  overflow:hidden;

  transform:translateY(15px);

  transition:
    max-height .5s ease,
    opacity .45s ease .12s,
    transform .45s ease .12s;
}

.valtria-process-panel.is-active .valtria-process-panel__hidden{
  max-height:180px;

  opacity:1;

  transform:none;
}

.valtria-process-panel__line{
  display:block;

  width:42px;
  height:2px;

  margin:22px 0 17px;

  background:#60a0d7;
}

.valtria-process-panel__hidden p{
  max-width:360px;

  margin:0;

  color:rgba(255,255,255,.82);

  font-family:var(--font-body,"Source Sans Pro",Arial,sans-serif);
  font-size:15px;

  line-height:1.55;
}


/* =========================================================
   REVEAL
   ========================================================= */

.valtria-process-panels__header{
  opacity:0;

  transform:translateY(35px);

  transition:
    opacity .8s ease,
    transform .8s ease;
}

.valtria-process-panels.is-visible
.valtria-process-panels__header{
  opacity:1;

  transform:none;
}

.valtria-process-panel{
  opacity:0;

  transform:translateY(35px);

  transition:
    flex .7s cubic-bezier(.22,.61,.36,1),
    opacity .6s ease,
    transform .6s ease;
}

.valtria-process-panels.is-visible
.valtria-process-panel{
  opacity:1;

  transform:none;
}

.valtria-process-panels.is-visible
.valtria-process-panel:nth-child(1){
  transition-delay:.05s;
}

.valtria-process-panels.is-visible
.valtria-process-panel:nth-child(2){
  transition-delay:.12s;
}

.valtria-process-panels.is-visible
.valtria-process-panel:nth-child(3){
  transition-delay:.19s;
}

.valtria-process-panels.is-visible
.valtria-process-panel:nth-child(4){
  transition-delay:.26s;
}

.valtria-process-panels.is-visible
.valtria-process-panel:nth-child(5){
  transition-delay:.33s;
}

.valtria-process-panels.is-visible
.valtria-process-panel:nth-child(6){
  transition-delay:.4s;
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:1000px){

  .valtria-process-panels{
    padding-top:90px;
  }

  .valtria-process-panels__header{
    grid-template-columns:1fr;

    gap:40px;

    width:calc(100% - 48px);

    padding-bottom:60px;
  }

  .valtria-process-panels__header-copy{
    justify-self:start;

    max-width:520px;
  }

  .valtria-process-panels__grid{
    display:block;

    height:auto;
  }

  .valtria-process-panel{
    width:100%;
    height:125px;

    border-right:0;
    border-left:0 !important;
    border-bottom:1px solid rgba(255,255,255,.13);

    transition:
      height .6s cubic-bezier(.22,.61,.36,1);
  }

  .valtria-process-panel.is-active{
    height:340px;
  }

  .valtria-process-panel__content{
    padding:28px 28px 32px;
  }

  .valtria-process-panel__number{
    top:50%;

    left:25px;

    font-size:38px;

    transform:translateY(-50%);
  }

  .valtria-process-panel.is-active
  .valtria-process-panel__number{
    top:28px;

    transform:none;
  }

  .valtria-process-panel__main{
    padding-left:75px;
  }

  .valtria-process-panel__title,
  .valtria-process-panel.is-active
  .valtria-process-panel__title{
    writing-mode:horizontal-tb;

    transform:none;
  }

  .valtria-process-panel__background{
    opacity:.15;
  }

  .valtria-process-panel.is-active
  .valtria-process-panel__background{
    opacity:.65;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:600px){

  .valtria-process-panels{
    padding-top:75px;
  }

  .valtria-process-panels__header{
    width:calc(100% - 36px);

    gap:35px;

    padding-bottom:48px;
  }

  .valtria-process-panels__title{
    font-size:44px;
  }

  .valtria-process-panels__percentage{
    font-size:72px;
  }

  .valtria-process-panels__header-copy p{
    font-size:15px;
  }

  .valtria-process-panel{
    height:105px;
  }

  .valtria-process-panel.is-active{
    height:310px;
  }

  .valtria-process-panel__content{
    padding:24px 20px 28px;
  }

  .valtria-process-panel__number{
    left:20px;

    font-size:32px;
  }

  .valtria-process-panel.is-active
  .valtria-process-panel__number{
    top:24px;
  }

  .valtria-process-panel__main{
    padding-left:58px;
  }

  .valtria-process-panel__title,
  .valtria-process-panel.is-active
  .valtria-process-panel__title{
    font-size:24px;
  }

  .valtria-process-panel__hidden p{
    font-size:14px;
  }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

  .valtria-process-panels *,
  .valtria-process-panels *::before,
  .valtria-process-panels *::after{
    transition:none !important;
  }

}
/* =========================================================
   VALTRIA — EXPERIENCIA + STATS
   ========================================================= */
.vstats-one,
.vstats-one *{
  box-sizing:border-box;
}
.vstats-one{
  position:relative;
  width:100%;
  padding:65px 0 65px;
  background:#fff;
  color:#000;
  font-family:var(--font-body,"Source Sans Pro",Arial,sans-serif);
}
.vstats-one__container{
  width:min(calc(100% - 80px),1300px);
  margin:0 auto;
  opacity:0;
  transform:translateY(22px);
  transition:
    opacity .7s ease,
    transform .7s ease;
}
.vstats-one.is-visible .vstats-one__container{
  opacity:1;
  transform:none;
}
/* =========================================================
   LAYOUT
   ========================================================= */
.vstats-one__layout{
  display:grid;
  grid-template-columns:minmax(340px,.95fr) minmax(0,1.6fr);
  gap:75px;
  align-items:center;
}
/* =========================================================
   INTRO
   ========================================================= */
.vstats-one__kicker{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
  color:var(--blue,#0f73b6);
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.vstats-one__kicker::before{
  content:"";
  width:28px;
  height:2px;
  background:var(--blue,#0f73b6);
}
.vstats-one__title{
  margin:0;
  font-family:var(--font-title,"Saira Semi Condensed",Arial,sans-serif);
  font-size:clamp(38px,4vw,54px);
  font-weight:700;
  letter-spacing:-.035em;
  line-height:.95;
  text-transform:uppercase;
}
.vstats-one__copy p{
  max-width:510px;
  margin:22px 0 0;
  color:#666;
  font-size:15px;
  line-height:1.55;
}
/* =========================================================
   BUTTON
   ========================================================= */
.vstats-one__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:48px;
  margin-top:26px;
  padding:0 20px;
  border:1px solid #000;
  border-radius:10px;
  background:#fff;
  color:#000;
  font-family:var(--font-body,"Source Sans Pro",Arial,sans-serif);
  font-size:15px;
  font-weight:500;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  transition:
    background-color .25s ease,
    color .25s ease,
    border-color .25s ease,
    transform .25s ease;
}
.vstats-one__button-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:17px;
  font-weight:700;
  line-height:1;
  transform:translateY(-1px);
  transition:transform .25s ease;
}
.vstats-one__button:hover{
  background:#000;
  color:#fff;
}
.vstats-one__button:hover .vstats-one__button-arrow{
  transform:translate(3px,-3px);
}
.vstats-one__button:active{
  transform:translateY(1px);
}
.vstats-one__button:focus-visible{
  outline:2px solid var(--blue,#0f73b6);
  outline-offset:3px;
}
/* =========================================================
   STATS
   ========================================================= */
.vstats-one__numbers{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid #d8d8d8;
  border-bottom:1px solid #d8d8d8;
}
.vstats-one__stat{
  position:relative;
  min-height:180px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:20px 30px;
}
.vstats-one__stat + .vstats-one__stat{
  border-left:1px solid #d8d8d8;
}
/* =========================================================
   NUMBERS
   ========================================================= */
.vstats-one__number{
  display:flex;
  align-items:flex-start;
  font-family:var(--font-title,"Saira Semi Condensed",Arial,sans-serif);
  font-size:clamp(52px,5vw,76px);
  font-weight:600;
  letter-spacing:-.055em;
  line-height:.9;
}
.vstats-one__plus{
  margin-right:4px;
  color:var(--blue,#0f73b6);
}
.vstats-one__counter{
  font-variant-numeric:tabular-nums;
}
.vstats-one__label{
  margin-top:18px;
  color:#222;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
/* =========================================================
   TABLET
   ========================================================= */
@media(max-width:1000px){
  .vstats-one__container{
    width:calc(100% - 48px);
  }
  .vstats-one__layout{
    grid-template-columns:1fr;
    gap:42px;
  }
  .vstats-one__copy{
    max-width:650px;
  }
}
/* =========================================================
   MOBILE
   ========================================================= */
@media(max-width:700px){
  .vstats-one{
    padding:48px 0;
  }
  .vstats-one__container{
    width:calc(100% - 36px);
  }
  .vstats-one__title{
    font-size:40px;
  }
  .vstats-one__numbers{
    grid-template-columns:1fr;
  }
  .vstats-one__stat{
    min-height:110px;
    padding:22px 0;
  }
  .vstats-one__stat + .vstats-one__stat{
    border-left:0;
    border-top:1px solid #e2e2e2;
  }
  .vstats-one__number{
    font-size:58px;
  }
}
/* =========================================================
   REDUCED MOTION
   ========================================================= */
@media(prefers-reduced-motion:reduce){
  .vstats-one *,
  .vstats-one *::before,
  .vstats-one *::after{
    transition:none !important;
  }
}
/* =========================================================
       VALTRIA — CINEMATIC SECTORS
       ========================================================= */
    .vsector-cinematic,
    .vsector-cinematic *{
      box-sizing:border-box;
    }
    .vsector-cinematic{
      --vs-blue:var(--blue,#0f73b6);
      position:relative;
      width:100%;
      padding:65px 0 65px;
      overflow:hidden;
      background:#fff;
      color:#000;
      font-family:var(--font-body,"Source Sans Pro",Arial,sans-serif);
    }
    .vsector-cinematic__container{
      width:min(calc(100% - 80px),1300px);
      margin:0 auto;
      opacity:0;
      transform:translateY(25px);
      transition:
        opacity .75s ease,
        transform .75s ease;
    }
    .vsector-cinematic.is-visible
    .vsector-cinematic__container{
      opacity:1;
      transform:none;
    }
    /* =========================================================
       HEADER
       ========================================================= */
    .vsector-cinematic__header{
      margin-bottom:40px;
    }
    .vsector-cinematic__eyebrow{
      display:flex;
      align-items:center;
      gap:12px;
      margin-bottom:16px;
      color:var(--vs-blue);
      font-size:11px;
      font-weight:700;
      letter-spacing:.17em;
      text-transform:uppercase;
    }
    .vsector-cinematic__eyebrow::before{
      content:"";
      width:30px;
      height:2px;
      background:var(--vs-blue);
    }
    .vsector-cinematic__header-row{
      display:grid;
      grid-template-columns:1.3fr .7fr;
      gap:80px;
      align-items:end;
    }
    .vsector-cinematic__heading{
      margin:0;
      font-family:var(--font-title,"Saira Semi Condensed",Arial,sans-serif);
      font-size:clamp(38px,4vw,54px);
      font-weight:700;
      letter-spacing:-.04em;
      line-height:.94;
      text-transform:uppercase;
    }
    .vsector-cinematic__header-row > p{
      
      margin:0;
      color:#6c6c6c;
      font-size:15px;
      line-height:1.55;
    }
    /* =========================================================
       STAGE
       ========================================================= */
    .vsector-cinematic__stage{
      user-select:none;
      touch-action:pan-y;
    }
    .vsector-cinematic__image-wrap{
      position:relative;
      height:350px;
      overflow:hidden;
      background:#111;
    }
    .vsector-cinematic__image{
      display:block;
      width:100%;
      height:100%;
      object-fit:cover;
      transform:scale(1);
      transition:
        opacity .35s ease,
        transform .75s cubic-bezier(.22,.61,.36,1);
    }
    /* =========================================================
       IMAGE OVERLAY
       ========================================================= */
    .vsector-cinematic__shade{
      position:absolute;
      inset:0;
      background:
        linear-gradient(
          90deg,
          rgba(0,0,0,.72) 0%,
          rgba(0,0,0,.43) 33%,
          rgba(0,0,0,.08) 67%,
          rgba(0,0,0,.02) 100%
        );
      pointer-events:none;
    }
    /* =========================================================
       BIG DECORATIVE NUMBER
       ========================================================= */
    .vsector-cinematic__ghost-number{
      position:absolute;
      right:25px;
      bottom:-42px;
      color:rgba(255,255,255,.13);
      font-family:var(--font-title,"Saira Semi Condensed",Arial,sans-serif);
      font-size:210px;
      font-weight:700;
      line-height:1;
      pointer-events:none;
      transition:
        opacity .35s ease,
        transform .55s ease;
    }
    /* =========================================================
       CONTENT
       ========================================================= */
    .vsector-cinematic__card{
      position:absolute;
      left:45px;
      bottom:45px;
      /*width:min(460px,calc(100% - 180px));*/
      color:#fff;
    }
    .vsector-cinematic__sector-label{
      display:block;
      margin-bottom:13px;
      color:rgba(255,255,255,.64);
      font-size:11px;
      font-weight:700;
      letter-spacing:.14em;
      text-transform:uppercase;
      transition:
        opacity .25s ease,
        transform .35s ease;
    }
    .vsector-cinematic__card h3{
      margin:0;
      font-family:var(--font-title,"Saira Semi Condensed",Arial,sans-serif);
      font-size:clamp(50px,5vw,74px);
      font-weight:700;
      letter-spacing:-.045em;
      line-height:.9;
      text-transform:uppercase;
      transition:
        opacity .25s ease,
        transform .35s ease;
    }
    .vsector-cinematic__card p{
      max-width:600px;
      margin:20px 0 0;
      color:rgba(255,255,255,.82);
      font-size:15px;
      line-height:1.55;
      transition:
        opacity .25s ease,
        transform .35s ease;
    }
    /* =========================================================
       LINK
       ========================================================= */
    .vsector-cinematic__link{
      display:inline-flex;
      align-items:center;
      gap:10px;
      margin-top:26px;
      color:#fff;
      font-size:13px;
      font-weight:700;
      letter-spacing:.04em;
      text-decoration:none;
      text-transform:uppercase;
    }
    .vsector-cinematic__link span{
      color:var(--vs-blue);
      transition:transform .25s ease;
    }
    .vsector-cinematic__link:hover span{
      transform:translate(3px,-3px);
    }
    /* =========================================================
       NAVIGATION
       ========================================================= */
    .vsector-cinematic__navigation{
      position:absolute;
      right:30px;
      top:30px;
      display:flex;
      gap:6px;
    }
    .vsector-cinematic__navigation button{
      display:flex;
      align-items:center;
      justify-content:center;
      width:48px;
      height:48px;
      padding:0;
      border:1px solid rgba(255,255,255,.5);
      background:rgba(0,0,0,.24);
      color:#fff;
      backdrop-filter:blur(8px);
      font-size:19px;
      cursor:pointer;
      transition:
        background .25s ease,
        border-color .25s ease,
        transform .2s ease;
    }
    .vsector-cinematic__navigation button:hover{
      border-color:#fff;
      background:#000;
    }
    .vsector-cinematic__navigation button:active{
      transform:scale(.95);
    }
    /* =========================================================
       FOOTER
       ========================================================= */
    .vsector-cinematic__footer{
      display:grid;
      grid-template-columns:100px 1fr;
      gap:25px;
      align-items:center;
      margin-top:17px;
    }
    .vsector-cinematic__current{
      display:flex;
      align-items:baseline;
      gap:5px;
      color:#aaa;
      font-size:12px;
    }
    .vsector-cinematic__current strong{
      color:#000;
      font-family:var(--font-title,"Saira Semi Condensed",Arial,sans-serif);
      font-size:24px;
      font-weight:700;
    }
    /* =========================================================
       PROGRESS
       ========================================================= */
    .vsector-cinematic__progress{
      display:grid;
      grid-template-columns:repeat(6,1fr);
      gap:7px;
      width:100%;
    }
    .vsector-cinematic__progress button{
      position:relative;
      height:20px;
      padding:0;
      border:0;
      background:transparent;
      cursor:pointer;
    }
    .vsector-cinematic__progress button::before{
      content:"";
      position:absolute;
      top:9px;
      left:0;
      width:100%;
      height:2px;
      background:#ddd;
      transition:background .3s ease;
    }
    .vsector-cinematic__progress button.is-active::before{
      background:var(--vs-blue);
    }
    /* =========================================================
       HINT
       ========================================================= */
    .vsector-cinematic__hint{
      color:#aaa;
      font-size:10px;
      letter-spacing:.11em;
      text-align:right;
      text-transform:uppercase;
    }
    /* =========================================================
       CHANGE ANIMATION
       ========================================================= */
    .vsector-cinematic.is-changing
    .vsector-cinematic__image{
      opacity:.18;
      transform:scale(1.045);
    }
    .vsector-cinematic.is-changing
    .vsector-cinematic__card h3,
    .vsector-cinematic.is-changing
    .vsector-cinematic__card p,
    .vsector-cinematic.is-changing
    .vsector-cinematic__sector-label{
      opacity:0;
      transform:translateY(10px);
    }
    .vsector-cinematic.is-changing
    .vsector-cinematic__ghost-number{
      opacity:0;
      transform:translateY(15px);
    }
    /* =========================================================
       TABLET
       ========================================================= */
    @media(max-width:1000px){
      .vsector-cinematic__container{
        width:calc(100% - 48px);
      }
      .vsector-cinematic__header-row{
        grid-template-columns:1fr;
        gap:20px;
      }
      .vsector-cinematic__header-row > p{
        max-width:600px;
      }
      .vsector-cinematic__image-wrap{
        height:520px;
      }
    }
    /* =========================================================
       MOBILE
       ========================================================= */
    @media(max-width:700px){
      .vsector-cinematic{
        padding:65px 0 55px;
      }
      .vsector-cinematic__container{
        width:calc(100% - 36px);
      }
      .vsector-cinematic__heading{
        font-size:40px;
      }
      .vsector-cinematic__image-wrap{
        height:500px;
      }
      .vsector-cinematic__shade{
        background:
          linear-gradient(
            to top,
            rgba(0,0,0,.88) 0%,
            rgba(0,0,0,.48) 45%,
            rgba(0,0,0,.06) 78%
          );
      }
      .vsector-cinematic__card{
        left:22px;
        right:22px;
        bottom:25px;
        width:auto;
      }
      .vsector-cinematic__card h3{
        font-size:43px;
      }
      .vsector-cinematic__card p{
        font-size:14px;
      }
      .vsector-cinematic__navigation{
        top:18px;
        right:18px;
      }
      .vsector-cinematic__navigation button{
        width:42px;
        height:42px;
      }
      .vsector-cinematic__ghost-number{
        right:10px;
        bottom:-18px;
        font-size:125px;
      }
      .vsector-cinematic__footer{
        grid-template-columns:65px 1fr;
        gap:15px;
      }
      .vsector-cinematic__hint{
        display:none;
      }
    }
    /* =========================================================
       REDUCED MOTION
       ========================================================= */
    @media(prefers-reduced-motion:reduce){
      .vsector-cinematic *,
      .vsector-cinematic *::before,
      .vsector-cinematic *::after{
        transition:none !important;
      }
    }
/* =========================================================
   VALTRIA — WHY / WARM
   ========================================================= */
.vwhy-warm,
.vwhy-warm *{
  box-sizing:border-box;
}
.vwhy-warm{
  position:relative;
  width:100%;
  padding:65px 0 65px;
  overflow:hidden;
  background:#e8e3db;
  color:#111;
  font-family:var(--font-body,"Source Sans Pro",Arial,sans-serif);
}
.vwhy-warm__container{
  width:min(calc(100% - 80px),1300px);
  margin:0 auto;
  opacity:0;
  transform:translateY(24px);
  transition:
    opacity .75s ease,
    transform .75s ease;
}
.vwhy-warm.is-visible
.vwhy-warm__container{
  opacity:1;
  transform:none;
}
/* =========================================================
   LAYOUT
   ========================================================= */
.vwhy-warm__layout{
  display:grid;
  grid-template-columns:.75fr 1.55fr;
  gap:90px;
  align-items:start;
}
/* =========================================================
   HEADING
   ========================================================= */
.vwhy-warm__eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
  color:var(--blue,#0f73b6);
  font-size:11px;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.vwhy-warm__eyebrow::before{
  content:"";
  width:30px;
  height:2px;
  background:currentColor;
}
.vwhy-warm__heading h2{
  margin:0;
  font-family:var(--font-title,"Saira Semi Condensed",Arial,sans-serif);
  font-size:clamp(38px,4vw,54px);
  font-weight:700;
  letter-spacing:-.045em;
  line-height:.87;
  text-transform:uppercase;
}
/* =========================================================
   CARDS
   ========================================================= */
.vwhy-warm__cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(0,0,0,.22);
}
.vwhy-warm__card{
  position:relative;
  /*min-height:300px;*/
  display:flex;
  flex-direction:column;
  /*justify-content:space-between;*/
  padding:25px 28px 0 0;
  opacity:0;
  transform:translateY(18px);
  transition:
    opacity .55s ease,
    transform .55s ease,
    background .35s ease;
}
.vwhy-warm__card + .vwhy-warm__card{
  padding-left:28px;
  border-left:1px solid rgba(0,0,0,.15);
}
/* =========================================================
   NUMBERS
   ========================================================= */
.vwhy-warm__number{
  color:rgba(0,0,0,.15);
  font-family:var(--font-title,"Saira Semi Condensed",Arial,sans-serif);
  font-size:72px;
  font-weight:700;
  letter-spacing:-.07em;
  line-height:1;
  transition:
    color .35s ease,
    transform .35s ease;
}
/* =========================================================
   CONTENT
   ========================================================= */
.vwhy-warm__content h3{
  margin:15px 0 0;
  font-family:var(--font-title,"Saira Semi Condensed",Arial,sans-serif);
  font-size:23px;
  font-weight:700;
  line-height:1.05;
  text-transform:uppercase;
}
.vwhy-warm__content p{
  max-width:280px;
  margin:5px 0 0;
  color:#65615b;
  font-size:14px;
  line-height:1.5;
}
/* =========================================================
   HOVER
   ========================================================= */
.vwhy-warm__card:hover
.vwhy-warm__number{
  color:var(--blue,#0f73b6);
  transform:translateY(-5px);
}
/* =========================================================
   REVEAL STAGGER
   ========================================================= */
.vwhy-warm.is-visible
.vwhy-warm__card{
  opacity:1;
  transform:none;
}
.vwhy-warm.is-visible
.vwhy-warm__card:nth-child(1){
  transition-delay:.10s;
}
.vwhy-warm.is-visible
.vwhy-warm__card:nth-child(2){
  transition-delay:.20s;
}
.vwhy-warm.is-visible
.vwhy-warm__card:nth-child(3){
  transition-delay:.30s;
}
/* =========================================================
   TABLET
   ========================================================= */
@media(max-width:1000px){
  .vwhy-warm{
    padding:70px 0;
  }
  .vwhy-warm__container{
    width:calc(100% - 48px);
  }
  .vwhy-warm__layout{
    grid-template-columns:1fr;
    gap:45px;
  }
  .vwhy-warm__heading h2{
    max-width:700px;
  }
}
/* =========================================================
   MOBILE
   ========================================================= */
@media(max-width:700px){
  .vwhy-warm{
    padding:55px 0;
  }
  .vwhy-warm__container{
    width:calc(100% - 36px);
  }
  .vwhy-warm__layout{
    gap:38px;
  }
  .vwhy-warm__heading h2{
    font-size:42px;
  }
  .vwhy-warm__cards{
    grid-template-columns:1fr;
  }
  .vwhy-warm__card,
  .vwhy-warm__card + .vwhy-warm__card{
    min-height:180px;
    padding:23px 0;
    border-left:0;
    border-bottom:1px solid rgba(0,0,0,.17);
  }
  .vwhy-warm__number{
    margin-bottom:28px;
    font-size:54px;
  }
  .vwhy-warm__content h3{
    font-size:22px;
  }
  .vwhy-warm__content p{
    max-width:420px;
  }
}
/* =========================================================
   REDUCED MOTION
   ========================================================= */
@media(prefers-reduced-motion:reduce){
  .vwhy-warm *,
  .vwhy-warm *::before,
  .vwhy-warm *::after{
    transition:none !important;
  }
}
/* =========================================================
   VALTRIA — CLIENT MARQUEE
   ========================================================= */
.vclients-marquee,
.vclients-marquee *{
  box-sizing:border-box;
}
.vclients-marquee{
  --vclients-blue:var(--blue,#0f73b6);
  position:relative;
  width:100%;
  padding:65px 0 65px;
  overflow:hidden;
  background:#fff;
  color:#000;
  font-family:
    var(
      --font-body,
      "Source Sans Pro",
      Arial,
      sans-serif
    );
}
/* =========================================================
   CONTAINER
   ========================================================= */
.vclients-marquee__container{
  width:min(
    calc(100% - 80px),
    1300px
  );
  margin:0 auto;
}
/* =========================================================
   HEADER
   ========================================================= */
.vclients-marquee__header{
  display:grid;
  grid-template-columns:
    minmax(0,1.2fr)
    minmax(280px,.8fr);
  gap:70px;
  align-items:end;
  margin-bottom:30px;
}
.vclients-marquee__eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
  color:var(--vclients-blue);
  font-size:11px;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.vclients-marquee__eyebrow::before{
  content:"";
  width:30px;
  height:2px;
  background:currentColor;
}
.vclients-marquee__title{
  margin:0;
  font-family:
    var(
      --font-title,
      "Saira Semi Condensed",
      Arial,
      sans-serif
    );
  font-size:clamp(38px,4vw,54px);
  font-weight:700;
  letter-spacing:-.04em;
  line-height:.94;
  text-transform:uppercase;
}
.vclients-marquee__intro p{
  margin:0;
  color:#6b6b6b;
  font-size:15px;
  line-height:1.55;
}
/* =========================================================
   VIEWPORT
   ========================================================= */
.vclients-marquee__viewport{
  position:relative;
  width:100%;
  overflow:hidden;
  border-top:1px solid #ddd;
  border-bottom:1px solid #ddd;
  /*
   * El carrusel permanece invisible hasta que JS
   * haya creado todas las copias necesarias.
   *
   * Así nunca vemos aparecer nuevos grupos.
   */
  opacity:0;
  transition:
    opacity .45s ease;
}
.vclients-marquee__viewport.is-ready{
  opacity:1;
}
/* =========================================================
   FADE LATERAL
   ========================================================= */
.vclients-marquee__viewport::before,
.vclients-marquee__viewport::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  z-index:10;
  width:max(
    45px,
    calc((100vw - 1300px) / 2)
  );
  pointer-events:none;
}
.vclients-marquee__viewport::before{
  left:0;
  background:
    linear-gradient(
      90deg,
      #fff 0%,
      rgba(255,255,255,.94) 32%,
      rgba(255,255,255,0) 100%
    );
}
.vclients-marquee__viewport::after{
  right:0;
  background:
    linear-gradient(
      -90deg,
      #fff 0%,
      rgba(255,255,255,.94) 32%,
      rgba(255,255,255,0) 100%
    );
}
/* =========================================================
   TRACK
   ========================================================= */
.vclients-marquee__track{
  display:flex;
  width:max-content;
  transform:translate3d(0,0,0);
  will-change:transform;
}
/* =========================================================
   GROUPS
   ========================================================= */
.vclients-marquee__group{
  flex:none;
  display:flex;
  align-items:stretch;
}
/* =========================================================
   LOGO CELL
   ========================================================= */
.vclients-marquee__logo{
  position:relative;
  flex:0 0 200px;
  width:200px;
  height:165px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 18px;
  overflow:hidden;
  border-right:1px solid #e8e8e8;
  background:#fff;
  transition:
    background-color .4s ease,
    box-shadow .4s ease;
}
/* =========================================================
   BLUE DETAIL
   ========================================================= */
.vclients-marquee__logo::before{
  content:"";
  position:absolute;
  top:-1px;
  left:50%;
  width:0;
  height:2px;
  background:var(--vclients-blue);
  transform:translateX(-50%);
  transition:
    width .4s
    cubic-bezier(.22,.61,.36,1);
}
/* =========================================================
   LOGO DEFAULT
   ========================================================= */
.vclients-marquee__logo img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:contain;
  object-position:center;
  filter:
    grayscale(100%)
    contrast(.86);
  opacity:.38;
  transform:scale(.96);
  transform-origin:center;
  transition:
    filter .5s ease,
    opacity .5s ease,
    transform .5s
    cubic-bezier(.22,.61,.36,1);
}
/* =========================================================
   LOGO CENTRAL AUTOMÁTICO
   ========================================================= */
.vclients-marquee__logo.is-center{
  background:#f8f8f8;
  box-shadow:
    inset 0 0 0 1px
    rgba(15,115,182,.035);
}
.vclients-marquee__logo.is-center::before{
  width:52px;
}
.vclients-marquee__logo.is-center img{
  filter:
    grayscale(0%)
    contrast(1);
  opacity:1;
  transform:scale(1.06);
}
/* =========================================================
   HOVER MANUAL
   ========================================================= */
.vclients-marquee__logo:hover{
  background:#f7f7f7;
}
.vclients-marquee__logo:hover::before{
  width:52px;
}
.vclients-marquee__logo:hover img{
  filter:
    grayscale(0%)
    contrast(1);
  opacity:1;
  transform:scale(1.06);
}
/* =========================================================
   INITIAL SECTION REVEAL
   ========================================================= */
.vclients-marquee__container{
  opacity:0;
  transform:translateY(20px);
  transition:
    opacity .7s ease,
    transform .7s ease;
}
.vclients-marquee.is-visible
.vclients-marquee__container{
  opacity:1;
  transform:none;
}
/* =========================================================
   TABLET
   ========================================================= */
@media(max-width:1000px){
  .vclients-marquee{
    padding:65px 0 60px;
  }
  .vclients-marquee__container{
    width:calc(100% - 48px);
  }
  .vclients-marquee__header{
    grid-template-columns:1fr;
    gap:20px;
  }
  .vclients-marquee__intro{
    max-width:600px;
  }
  .vclients-marquee__logo{
    flex-basis:260px;
    width:260px;
    height:150px;
    padding:13px 16px;
  }
  .vclients-marquee__logo img{
    width:90%;
    height:78%;
  }
}
/* =========================================================
   MOBILE
   ========================================================= */
@media(max-width:700px){
  .vclients-marquee{
    padding:55px 0 50px;
  }
  .vclients-marquee__container{
    width:calc(100% - 36px);
  }
  .vclients-marquee__header{
    margin-bottom:35px;
  }
  .vclients-marquee__title{
    font-size:40px;
  }
  .vclients-marquee__intro{
    font-size:14px;
  }
  .vclients-marquee__logo{
    flex-basis:210px;
    width:210px;
    height:125px;
    padding:10px 14px;
  }
  .vclients-marquee__logo img{
    width:90%;
    height:78%;
  }
  .vclients-marquee__viewport::before,
  .vclients-marquee__viewport::after{
    width:30px;
  }
}
/* =========================================================
   REDUCED MOTION
   ========================================================= */
@media(prefers-reduced-motion:reduce){
  .vclients-marquee *,
  .vclients-marquee *::before,
  .vclients-marquee *::after{
    transition:none !important;
  }
}
/* =========================================================
   VALTRIA HERO — GLASS + PHOTO
   TOTALMENTE ENCAPSULADO
   ========================================================= */
.vhero-glass-photo,
.vhero-glass-photo *{
  box-sizing:border-box;
}
.vhero-glass-photo{
  --vhp-blue:var(--blue,#0f73b6);
  position:relative;
  isolation:isolate;
  width:100%;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#080808;
  color:#fff;
  font-family:
    var(
      --font-body,
      "Source Sans Pro",
      Arial,
      sans-serif
    );
}
/* =========================================================
   BACKGROUND
   ========================================================= */
.vhero-glass-photo__media{
  position:absolute;
  inset:0;
  z-index:-4;
  overflow:hidden;
}
.vhero-glass-photo__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  /*
   * Si la imagen tiene un punto importante,
   * puedes ajustar aquí:
   *
   * center
   * 60% center
   * 70% center
   */
  object-position:center center;
  transform:scale(1.035);
  filter:
    saturate(.92)
    contrast(1.03);
  transition:
    transform 9s
    cubic-bezier(.2,.6,.2,1);
}
.vhero-glass-photo.is-visible
.vhero-glass-photo__media img{
  transform:scale(1);
}
/* =========================================================
   MAIN OVERLAY
   Izquierda muy protegida.
   Centro bastante visible.
   Derecha ligeramente oscurecida para soportar el glass.
   ========================================================= */
.vhero-glass-photo__overlay{
  position:absolute;
  inset:0;
  z-index:-3;
  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.88) 0%,
      rgba(0,0,0,.78) 24%,
      rgba(0,0,0,.58) 42%,
      rgba(0,0,0,.20) 62%,
      rgba(0,0,0,.18) 72%,
      rgba(0,0,0,.34) 100%
    );
}
/* =========================================================
   TOP + BOTTOM VIGNETTE
   Hace que la foto se integre mejor con la barra superior
   y evita que el contenido parezca "pegado".
   ========================================================= */
.vhero-glass-photo__vignette{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.36) 0%,
      rgba(0,0,0,.05) 20%,
      rgba(0,0,0,0) 65%,
      rgba(0,0,0,.18) 100%
    );
  pointer-events:none;
}
/* =========================================================
   CONTAINER
   ========================================================= */
.vhero-glass-photo__container{
  position:relative;
  z-index:2;
  width:min(
    calc(100% - 80px),
    1300px
  );
  margin:0 auto;
  padding:110px 0 40px;
  display:grid;
  grid-template-columns:
    minmax(0,.95fr)
    minmax(500px,.72fr);
  gap:90px;
  align-items:center;
}
/* =========================================================
   LEFT CONTENT
   ========================================================= */
.vhero-glass-photo__content{
  max-width:670px;
}
.vhero-glass-photo__eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:22px;
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.vhero-glass-photo__eyebrow::before{
  content:"";
  width:34px;
  height:2px;
  background:var(--vhp-blue);
}
.vhero-glass-photo__title{
  margin:0;
  max-width:650px;
  font-family:
    var(
      --font-title,
      "Saira Semi Condensed",
      Arial,
      sans-serif
    );
  font-size:
    clamp(
      52px,
      4.7vw,
      78px
    );
  font-weight:700;
  line-height:.9;
  letter-spacing:-.047em;
  text-transform:uppercase;
  text-wrap:balance;
}
.vhero-glass-photo__text p{
  margin:29px 0 0;
  color:rgba(255,255,255,.76);
  font-size:18px;
  line-height:1.5;
  text-shadow:
    0 1px 10px
    rgba(0,0,0,.2);
}
/* =========================================================
   STATS
   ========================================================= */
.vhero-glass-photo__stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  max-width:600px;
  margin-top:45px;
  padding-top:18px;
  border-top:
    1px solid
    rgba(255,255,255,.26);
}
.vhero-glass-photo__stat{
  position:relative;
  min-width:0;
  padding-right:20px;
}
.vhero-glass-photo__stat + .vhero-glass-photo__stat{
  padding-left:20px;
  border-left:
    1px solid
    rgba(255,255,255,.16);
}
.vhero-glass-photo__stat strong{
  display:block;
  color:#fff;
  font-family:
    var(
      --font-title,
      "Saira Semi Condensed",
      Arial,
      sans-serif
    );
  font-size:32px;
  font-weight:700;
  line-height:1;
}
.vhero-glass-photo__stat span{
  display:block;
  margin-top:7px;
  color:rgba(255,255,255,.52);
  font-size:10px;
  font-weight:700;
  letter-spacing:.07em;
  line-height:1.25;
  text-transform:uppercase;
}
/* =========================================================
   FORM PANEL
   ========================================================= */
.vhero-glass-photo__form-panel{
  position:relative;
  width:100%;
  padding:36px 39px 38px;
  color:#111;
  /*
   * No lo hacemos totalmente blanco.
   * Así sigue viéndose la fotografía por detrás.
   */
  background:#f2f2f2;
  border:
    1px solid
    rgba(255,255,255,.68);
  -webkit-backdrop-filter:
    blur(20px)
    saturate(1.05);
  backdrop-filter:
    blur(20px)
    saturate(1.05);
  box-shadow:
    0 30px 80px
    rgba(0,0,0,.14);
}
/* blue detail */
.vhero-glass-photo__form-panel::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:76px;
  height:3px;
  background:var(--vhp-blue);
}
/* =========================================================
   FORM HEADING
   ========================================================= */
.vhero-glass-photo__form-heading{
  margin-bottom:27px;
}
.vhero-glass-photo__form-heading > span{
  display:block;
  color:var(--vhp-blue);
  font-size:10px;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.vhero-glass-photo__form-heading h2{
  margin:7px 0 8px;
  font-family:
    var(
      --font-title,
      "Saira Semi Condensed",
      Arial,
      sans-serif
    );
  font-size:36px;
  font-weight:700;
  line-height:.92;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.vhero-glass-photo__form-heading p{
  max-width:400px;
  margin:0;
  color:#777;
  font-size:13px;
  line-height:1.45;
}
/* =========================================================
   FORM
   IMPORTANTE: TODO ENCAPSULADO
   ========================================================= */
.vhero-glass-photo__form{
  margin:0;
  padding:0;
  color-scheme:light;
}
.vhero-glass-photo__grid{
  display:grid;
  grid-template-columns:
    1fr
    1fr;
  column-gap:26px;
  row-gap:18px;
}
/* FIELD */
.vhero-glass-photo__field{
  position:relative;
}
.vhero-glass-photo__field--full{
  grid-column:1 / -1;
}
.vhero-glass-photo__field label{
  display:block;
  margin:0 0 3px;
  color:#777;
  font-size:10px;
  font-weight:600;
  line-height:1.2;
}
/* INPUTS */
.vhero-glass-photo__field input,
.vhero-glass-photo__field textarea{
  display:block;
  width:100%;
  margin:0;
  padding:7px 0 9px;
  border:0;
  border-bottom:
    1px solid
    rgba(0,0,0,.35);
  border-radius:0;
  outline:none;
  background:transparent;
  color:#111;
  box-shadow:none;
  -webkit-appearance:none;
  appearance:none;
  font-family:inherit;
  font-size:14px;
  transition:
    border-color .25s ease;
}
.vhero-glass-photo__field select{
  display:block;
  width:100%;
  margin:0;
  padding:7px 0 9px;
  border:0;
  border-bottom:
    1px solid
    rgba(0,0,0,.35);
  border-radius:0;
  outline:none;
  background:#f2f2f2;
  color:#111;
  box-shadow:none;
  -webkit-appearance:auto;
  appearance:auto;
  color-scheme:light;
  font-family:inherit;
  font-size:14px;
  transition:
    border-color .25s ease;
}
.vhero-glass-photo__field select option{
  background:#f2f2f2;
  color:#111;
}
.vhero-glass-photo__field textarea{
  min-height:55px;
  resize:vertical;
}
.vhero-glass-photo__field input:focus,
.vhero-glass-photo__field select:focus,
.vhero-glass-photo__field textarea:focus{
  border-bottom-color:
    var(--vhp-blue);
}
/* =========================================================
   PRIVACY
   ========================================================= */
.vhero-glass-photo__privacy{
  display:grid;
  gap:6px;
  margin-top:18px;
}
.vhero-glass-photo__privacy label{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:0;
  cursor:pointer;
}
.vhero-glass-photo__privacy input{
  flex:0 0 auto;
  width:13px;
  height:13px;
  margin:2px 0 0;
}
.vhero-glass-photo__privacy span{
  color:#777;
  font-size:10px;
  line-height:1.35;
}
/* =========================================================
   CAPTCHA
   ========================================================= */
.vhero-glass-photo__captcha{
  width:245px;
  margin-top:16px;
  padding:13px;
  border:1px solid #ddd;
  background:
    rgba(255,255,255,.62);
  color:#999;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  text-align:center;
}
/* =========================================================
   SUBMIT
   ========================================================= */
.vhero-glass-photo__submit{
  min-width:205px;
  display:inline-flex;
  align-items:stretch;
  justify-content:space-between;
  gap:30px;
  margin-top:18px;
  padding:0;
  border:1px solid #000;
  border-radius:0;
  background:#000;
  color:#fff;
  cursor:pointer;
  font-family:inherit;
  transition:
    background .25s ease,
    border-color .25s ease,
    transform .2s ease;
}
.vhero-glass-photo__submit > span:first-child{
  display:flex;
  align-items:center;
  padding:
    0
    0
    0
    18px;
  font-size:12px;
  font-weight:700;
}
.vhero-glass-photo__submit-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  min-height:47px;
  border-left:
    1px solid
    rgba(255,255,255,.24);
  font-size:16px;
  transition:
    transform .25s ease;
}
.vhero-glass-photo__submit:hover{
  background:var(--vhp-blue);
  border-color:var(--vhp-blue);
}
.vhero-glass-photo__submit:hover
.vhero-glass-photo__submit-arrow{
  transform:translate(2px,-2px);
}
.vhero-glass-photo__submit:active{
  transform:translateY(1px);
}
/* =========================================================
   BOTTOM DETAIL
   ========================================================= */
.vhero-glass-photo__bottom-detail{
  position:absolute;
  left:50%;
  bottom:24px;
  z-index:3;
  display:flex;
  align-items:center;
  gap:12px;
  color:rgba(255,255,255,.45);
  transform:translateX(-50%);
  pointer-events:none;
}
.vhero-glass-photo__bottom-detail > span{
  width:35px;
  height:1px;
  background:
    rgba(255,255,255,.45);
}
.vhero-glass-photo__bottom-detail small{
  font-size:9px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  white-space:nowrap;
}
/* =========================================================
   LOAD ANIMATION
   ========================================================= */
.vhero-glass-photo__content,
.vhero-glass-photo__form-panel{
  opacity:0;
  transform:translateY(28px);
  transition:
    opacity .8s ease,
    transform .8s
    cubic-bezier(.22,.61,.36,1);
}
.vhero-glass-photo.is-visible
.vhero-glass-photo__content,
.vhero-glass-photo.is-visible
.vhero-glass-photo__form-panel{
  opacity:1;
  transform:none;
}
.vhero-glass-photo.is-visible
.vhero-glass-photo__form-panel{
  transition-delay:.14s;
}
/* =========================================================
   LARGE SCREENS
   Damos todavía más presencia a la fotografía.
   ========================================================= */
@media(min-width:1500px){
  .vhero-glass-photo__container{
    max-width:1380px;
    grid-template-columns:
      minmax(0,1fr)
      minmax(510px,.67fr);
    gap:110px;
  }
}
/* =========================================================
   TABLET
   ========================================================= */
@media(max-width:1050px){
  .vhero-glass-photo{
    min-height:0;
  }
  .vhero-glass-photo__container{
    width:calc(100% - 48px);
    grid-template-columns:1fr;
    gap:45px;
    padding:120px 0 65px;
  }
  /*
   * En tablet protegemos algo más toda la foto
   * porque el contenido se apila.
   */
  .vhero-glass-photo__overlay{
    background:
      linear-gradient(
        180deg,
        rgba(0,0,0,.76) 0%,
        rgba(0,0,0,.55) 48%,
        rgba(0,0,0,.38) 100%
      );
  }
  .vhero-glass-photo__content{
    max-width:760px;
  }
  .vhero-glass-photo__form-panel{
    max-width:720px;
    margin-left:auto;
    margin-right:auto;
  }
  .vhero-glass-photo__bottom-detail{
    display:none;
  }
}
/* =========================================================
   MOBILE
   ========================================================= */
@media(max-width:650px){
  .vhero-glass-photo__container{
    width:calc(100% - 36px);
    padding:
      105px
      0
      40px;
  }
  .vhero-glass-photo__media img{
    /*
     * Normalmente en móvil interesa enseñar
     * algo más el centro/derecha de la cleanroom.
     */
    object-position:60% center;
  }
  .vhero-glass-photo__overlay{
    background:
      linear-gradient(
        180deg,
        rgba(0,0,0,.82) 0%,
        rgba(0,0,0,.63) 37%,
        rgba(0,0,0,.44) 63%,
        rgba(0,0,0,.42) 100%
      );
  }
  .vhero-glass-photo__title{
    font-size:44px;
  }
  .vhero-glass-photo__text{
    margin-top:22px;
    font-size:16px;
  }
  .vhero-glass-photo__stats{
    gap:0;
    margin-top:35px;
  }
  .vhero-glass-photo__stat{
    padding-right:10px;
  }
  .vhero-glass-photo__stat +
  .vhero-glass-photo__stat{
    padding-left:10px;
  }
  .vhero-glass-photo__stat strong{
    font-size:25px;
  }
  .vhero-glass-photo__stat span{
    font-size:8px;
  }
  .vhero-glass-photo__form-panel{
    padding:
      28px
      22px
      30px;
  }
  .vhero-glass-photo__form-heading h2{
    font-size:32px;
  }
  .vhero-glass-photo__grid{
    grid-template-columns:1fr;
    row-gap:17px;
  }
  .vhero-glass-photo__field--full{
    grid-column:auto;
  }
  .vhero-glass-photo__captcha{
    width:100%;
  }
  .vhero-glass-photo__submit{
    width:100%;
  }
}
/* =========================================================
   REDUCED MOTION
   ========================================================= */
@media(prefers-reduced-motion:reduce){
  .vhero-glass-photo *,
  .vhero-glass-photo *::before,
  .vhero-glass-photo *::after{
    transition:none !important;
  }
}
/* =========================================================
   HERO FORM VALIDATION
   ========================================================= */

.vhero-glass-photo__form{
  position:relative;
}


/* INPUT / TEXTAREA / SELECT INVALID */

.vhero-glass-photo__form
.vhero-glass-photo__field input.is-invalid,
.vhero-glass-photo__form
.vhero-glass-photo__field select.is-invalid,
.vhero-glass-photo__form
.vhero-glass-photo__field textarea.is-invalid{
  border-bottom-color:#d93636;
}


/* CHECKBOX INVALID */

.vhero-glass-photo__form
.vhero-glass-photo__privacy input.is-invalid{
  outline:1px solid #d93636;
  outline-offset:2px;
}


/* ERROR TOOLTIP */

.vhero-glass-photo__form-error{
  position:absolute;
  z-index:50;

  max-width:260px;

  padding:8px 11px;

  background:#000;
  color:#fff;

  border-radius:5px;

  font-family:var(
    --font-body,
    "Source Sans Pro",
    Arial,
    sans-serif
  );

  font-size:11px;
  font-weight:600;
  line-height:1.3;

  opacity:0;
  visibility:hidden;

  transform:translateY(-3px);

  pointer-events:none;

  transition:
    opacity .2s ease,
    visibility .2s ease,
    transform .2s ease;
}


/* TRIÁNGULO */

.vhero-glass-photo__form-error::before{
  content:"";

  position:absolute;

  left:12px;
  top:-5px;

  width:10px;
  height:10px;

  background:#000;

  transform:rotate(45deg);
}


/* VISIBLE */

.vhero-glass-photo__form-error.is-visible{
  opacity:1;
  visibility:visible;

  transform:none;
}
.vhero-glass-photo__field select:required:invalid{
  color:#777;
}

.vhero-glass-photo__field select option{
  color:#111;
}

.vhero-glass-photo__field select option[value=""]{
  color:#777;
}