@font-face{font-family:"Exo 2";src:url("assets/fonts/exo2-variable.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap;}
:root{--black:#0b0d10;--graphite:#20242a;--yellow:#e2aa31;--white:#fff;--paper:#f5f6f7;--muted:#aeb5bc;--ink:#15191d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--white);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ae7400;outline-offset:5px}img{display:block;max-width:100%;height:auto}p{line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}em{font-style:normal;color:var(--yellow)}.skip{position:fixed;top:-80px;left:15px;z-index:20;background:var(--yellow);padding:15px}.skip:focus{top:15px}.header{height:100px;padding:15px 4.5%;display:flex;align-items:center;gap:38px;background:var(--black);color:white;border-bottom:1px solid #ffffff26;position:relative;z-index:5}.brand{display:block;background:white;width:122px;flex-shrink:0;padding:5px}.brand img{width:100%;height:auto}.header nav{display:flex;gap:32px;margin-left:auto;font-size:13px}.header nav a{padding:12px 0;color:#d4d7db}.header nav a:hover{color:var(--yellow)}.header-cta{font-size:13px;border:1px solid #73767a;padding:14px 18px;display:flex;gap:35px}.header-cta:hover{background:#292c30}.menu-toggle{display:none}.hero{background:var(--black);color:white;min-height:700px;position:relative;overflow:hidden;display:flex;align-items:center}.hero-photo{position:absolute;inset:0 0 0 43%;}.hero-photo picture,.hero-photo img{height:100%;width:100%;object-fit:cover;object-position:50% 65%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b0d10 0%,#0b0d1085 18%,#0b0d1000 55%),linear-gradient(0deg,#0b0d10d9,transparent 30%)}.hero-copy{position:relative;padding:65px 4.5% 115px;width:70%;z-index:1}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:600;color:#cbd0d5;display:flex;align-items:center;gap:9px;margin-bottom:30px}.eyebrow.dark{color:#535b62}.dot{width:6px;height:6px;background:var(--yellow);display:inline-block}.hero h1{font-size:clamp(52px,5.7vw,86px);line-height:1.025;letter-spacing:-3.7px;margin-bottom:29px;font-weight:600}.hero-description{font-size:16px;color:#c2c6cb;max-width:425px;margin-bottom:33px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;padding:19px 22px;font-size:12px;font-weight:600;border:0;min-height:48px;transition:background .2s,transform .2s}.yellow{background:var(--yellow);color:#101215}.yellow:hover{background:#f2bc42;transform:translateY(-2px)}.text-link{font-size:12px;font-weight:600;border-bottom:1px solid #85878a;padding-bottom:8px;display:inline-block}.hero-bottom{position:absolute;bottom:0;left:4.5%;right:4.5%;height:65px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff30;z-index:2;font-size:9px;letter-spacing:1.8px;color:#c7cbd0}.hero-bottom a{display:flex;gap:30px}.photo-caption{position:absolute;right:4.5%;bottom:103px;font-size:9px;letter-spacing:1.8px;display:flex;gap:13px;max-width:235px;text-shadow:0 1px 5px black}.photo-caption small{display:block;font-size:11px;line-height:1.6;letter-spacing:0;margin-top:8px}.cross{color:var(--yellow);font-size:29px;line-height:22px}.discipline-bar{background:#171b20;color:#c2c7cd;padding:24px 4.5%;display:flex;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:1.3px;border-bottom:1px solid #373b40}.discipline-bar i{color:#806522;font-style:normal}.section{padding:100px 4.5%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-heading h2,h2{font-size:clamp(36px,3.5vw,53px);line-height:1.12;letter-spacing:-1.8px;margin-bottom:0}.section-heading>p{font-size:13px;color:#60676e;max-width:355px;margin-bottom:3px}.section-heading .eyebrow{margin-bottom:22px}.filters{display:flex;gap:10px;border-bottom:1px solid #d9dcdf;padding-bottom:22px;margin-bottom:30px;flex-wrap:wrap}.filters button{border:1px solid #c9ced2;color:#535a60;background:white;padding:11px 18px;border-radius:30px;font-size:11px;min-height:42px}.filters button[aria-pressed=true]{background:var(--black);border-color:var(--black);color:white}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 25px}.product[hidden]{display:none}.product-open{border:0;background:none;text-align:left;padding:0;width:100%;color:inherit;display:block;height:100%}.product-image{background:#eff0f1;position:relative;aspect-ratio:1.3;overflow:hidden}.product-image img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.product-image.contain img{object-fit:contain;padding:12px;background:white}.product-open:hover img{transform:scale(1.035)}.product-index{position:absolute;left:15px;top:15px;background:white;padding:7px 9px;font-size:9px;letter-spacing:1px}.product-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:21px}.product-title small{font-size:8px;letter-spacing:1.6px;color:#6a7178}.product h3{font-size:21px;line-height:1.2;letter-spacing:-.4px;margin:11px 0 12px}.circle-arrow{display:grid;place-items:center;border:1px solid #cdd1d5;border-radius:50%;width:36px;height:36px;flex-shrink:0}.product p{font-size:12px;color:#636970;max-width:92%;margin-bottom:14px}.underlink{font-size:11px;border-bottom:1px solid #aeb3b7;padding-bottom:5px}.catalogue-note{font-size:12px;color:#60676e;text-align:center;border-top:1px solid #d9dcdf;margin:50px 0 0;padding-top:25px}.catalogue-note a{color:#181c20;margin-left:10px;text-decoration:underline;text-underline-offset:4px}.solutions{background:var(--black);color:white}.solutions .section-heading>p{color:#aeb5bc}.solution-list{margin-top:55px}.solution-list>a{border-top:1px solid #3b3f44;padding:28px 0;display:flex;align-items:center;gap:40px;transition:padding .25s}.solution-list>a:last-child{border-bottom:1px solid #3b3f44}.solution-list>a:hover{padding-left:12px}.solution-list .number{font-size:10px;color:var(--yellow);align-self:start;margin-top:8px}.solution-list h3{font-size:28px;letter-spacing:-.5px;margin-bottom:8px}.solution-list p{color:#aeb5bc;font-size:12px;margin:0}.solution-list>a>span:last-child{margin-left:auto;font-size:25px;color:var(--yellow)}.engineering{display:grid;grid-template-columns:1fr 1fr;background:var(--paper)}.engineering-photo{position:relative;min-height:740px}.engineering-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 42%}.engineering-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0008)}.engineering-photo>span{position:absolute;bottom:35px;left:9%;color:white;z-index:1;font-size:9px;letter-spacing:2px}.engineering-copy{padding:75px 12%}.engineering-copy h2{margin-bottom:30px;font-size:58px}.engineering-copy h2 em{color:#966a08}.engineering-copy>p:not(.eyebrow){font-size:13px;color:#60676e;max-width:355px}.process{display:flex;gap:20px;border-top:1px solid #d4d8dc;padding:18px 0}.process>span{font-size:9px;color:#6d747a;margin-top:5px}.process p{font-size:14px;margin:0}.process small{display:block;font-size:11px;color:#626a72;margin-top:3px}.engineering-copy .text-link{margin-top:20px}.about{display:grid;grid-template-columns:1fr 1fr;gap:20px 80px}.about .eyebrow{grid-column:1/-1}.about>div{max-width:450px}.about p{font-size:14px;color:#60676e}.about .eyebrow{font-size:10px}.contact{background:#171b20;color:white;display:grid;grid-template-columns:1fr 1fr;gap:9%}.contact h2{font-size:clamp(38px,4vw,60px);margin:35px 0 24px}.contact>div>p:not(.eyebrow){color:#b7bec5;font-size:14px}.demo-note{border-left:2px solid var(--yellow);padding-left:16px;margin-top:45px;max-width:330px}.demo-note strong{font-size:11px;color:#e2e5e8}.demo-note p{font-size:11px;color:#b7bec5;margin:7px 0}.contact label{display:block;font-size:11px;color:#dce0e5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}input:not([type=checkbox]),textarea{display:block;border:0;border-bottom:1px solid #6a717a;border-radius:0;width:100%;padding:15px 0 13px;margin-bottom:24px;background:transparent;color:white;min-height:45px;resize:vertical}input::placeholder,textarea::placeholder{color:#989fa8;font-size:12px}.consent{display:flex!important;gap:10px;align-items:start;line-height:1.6;margin:0 0 25px}.consent input{accent-color:var(--yellow);width:17px;height:17px;flex-shrink:0;margin:0}.trap{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}#form-status{font-size:12px;min-height:25px;color:#ead49f;margin-top:20px}.contact button{width:100%}footer{background:var(--black);color:#b6bcc3;padding:45px 4.5% 25px;display:flex;align-items:center;gap:35px;flex-wrap:wrap}footer p{font-size:9px;letter-spacing:1.4px;margin:0}footer>a:nth-last-child(2){margin-left:auto;font-size:11px}footer small{border-top:1px solid #2b3037;padding-top:25px;width:100%;font-size:9px;color:#949da7}dialog{width:min(1000px,93vw);max-height:90dvh;border:0;padding:36px;color:var(--ink)}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.dialog-close{display:block;margin:0 0 25px auto;background:var(--black);color:white;border:0;padding:12px 18px}.dialog-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:30px}.dialog-layout h2{font-size:34px;margin-bottom:20px}.dialog-layout p{font-size:13px;color:#60676e}.dialog-gallery{display:grid;gap:12px}.dialog-gallery img{width:100%;height:280px;object-fit:contain;background:#f3f4f5}.dialog-layout dl{font-size:12px}.dialog-layout dt{font-weight:600;margin-top:14px}.dialog-layout dd{margin:6px 0 20px;color:#60676e;line-height:1.6}.dialog-layout .button{margin-top:20px}.reveal{animation:appear .6s ease both}@keyframes appear{from{opacity:.2;transform:translateY(15px)}to{opacity:1;transform:none}}.direction-bar{display:flex;gap:15px;align-items:center;flex-wrap:wrap;padding:15px 4.5%;background:#e2aa31;font-size:12px}.direction-bar a{text-decoration:underline;text-underline-offset:3px}.direction-bar strong{margin-right:auto}body.precision .hero{background:#f2f3f4;color:#15191d}body.precision .hero-photo:after{background:linear-gradient(90deg,#f2f3f4,transparent 60%)}body.precision .hero-description,body.precision .hero .eyebrow{color:#535b62}body.precision .hero-bottom{color:#20242a;border-color:#2223}body.precision .hero em{color:#966a08}body.future .hero-copy{padding-top:95px;padding-bottom:140px}body.future .hero-photo{left:25%}body.future .hero-photo:after{background:linear-gradient(90deg,#0b0d10,#0b0d1088 50%,#0b0d1022)}
@media(min-width:1600px){.hero{min-height:820px}.hero-copy{padding-top:100px;padding-bottom:150px}.section{padding-top:120px;padding-bottom:120px}}
@media(max-width:1000px){.header{gap:20px}.header nav{gap:20px}.hero-copy{width:82%}.hero h1{font-size:65px}.hero-actions{gap:20px}.photo-caption{max-width:170px}.section{padding-top:75px;padding-bottom:75px}.product h3{font-size:18px}.engineering-copy{padding:60px 9%}.engineering-copy h2{font-size:47px}.engineering-photo{min-height:700px}.contact{gap:6%}}
@media(max-width:700px){html{scroll-padding-top:25px}.header{height:83px;padding:12px 6%;justify-content:space-between}.brand{width:96px}.header-cta{margin-left:auto;padding:12px;font-size:11px;gap:14px}.menu-toggle{display:block;border:0;color:white;background:none;font-size:11px;padding:14px 0 14px 8px}.menu-toggle span{margin-left:5px}.header nav{display:none;position:absolute;top:83px;left:0;right:0;background:#171b20;padding:25px 6%;margin:0;box-shadow:0 10px 15px #0003}.header nav.open{display:flex;flex-direction:column;gap:10px}.hero{display:block;min-height:885px}.hero-copy{padding:40px 6% 0;width:100%}.hero .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:25px}.hero h1{font-size:clamp(45px,11.7vw,70px);line-height:1.04;letter-spacing:-2.5px;margin-bottom:22px}.hero-description{font-size:13px;max-width:340px;line-height:1.65;margin-bottom:23px}.hero-actions{gap:20px}.button{padding:16px;font-size:11px}.hero .text-link{font-size:11px}.hero-photo{inset:400px 0 0 0;height:485px}.hero-photo img{object-position:50% 65%}.hero-photo:after{background:linear-gradient(#0b0d10 0%,#0b0d1022 25%,transparent 45%,#0b0d10 100%)}.photo-caption{right:6%;bottom:86px;max-width:230px}.hero-bottom{left:6%;right:6%;height:56px;font-size:7px;letter-spacing:1px}.hero-bottom a{gap:12px}.discipline-bar{padding:20px 6%;font-size:8px;letter-spacing:0;gap:8px}.section{padding:60px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading h2,h2{font-size:35px;letter-spacing:-1.3px}.section-heading>p{margin-top:23px;font-size:12px}.eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:22px}.filters{gap:7px;margin-bottom:25px;padding-bottom:20px}.filters button{padding:9px 12px;font-size:10px}.product-grid{grid-template-columns:1fr;gap:38px}.product-image{aspect-ratio:1.4}.product h3{font-size:22px}.product p{font-size:12px}.product-title{margin-top:18px}.product-title small{font-size:9px}.catalogue-note{font-size:11px;text-align:left;line-height:2}.catalogue-note a{display:block;margin:5px 0}.solution-list{margin-top:35px}.solution-list>a{gap:18px;padding:23px 0}.solution-list h3{font-size:21px}.solution-list p{font-size:11px;max-width:250px}.engineering{grid-template-columns:1fr}.engineering-photo{min-height:440px}.engineering-photo img{object-position:50% 38%}.engineering-copy{padding:50px 6%}.engineering-copy h2{font-size:48px}.engineering-copy>p:not(.eyebrow){max-width:none}.about{display:block}.about h2{margin-bottom:25px}.about>div{max-width:none}.about p{font-size:13px}.contact{grid-template-columns:1fr;gap:40px}.contact h2{font-size:42px;margin-top:28px}.contact .demo-note{margin-top:28px;max-width:none}.form-row{gap:16px}.contact input,.contact textarea{font-size:16px}footer{padding:35px 6% 22px;gap:22px}footer p{font-size:8px}footer>a:nth-last-child(2){margin-left:0;font-size:10px}footer small{font-size:8px}dialog{padding:22px}.dialog-layout{grid-template-columns:1fr}.dialog-layout h2{font-size:29px}.dialog-gallery{grid-template-columns:1fr 1fr}.dialog-gallery img{height:160px}body.precision .hero-photo:after{background:linear-gradient(#f2f3f4,transparent 40%,#0b0d10 100%)}body.precision .hero-bottom{color:white}body.future .hero-copy{padding:40px 6% 0}body.future .hero-photo{left:0}body.future .hero-photo:after{background:linear-gradient(#0b0d10,transparent 40%,#0b0d10 100%)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
body.precision .hero-photo{background:white}body.precision .hero-photo img{object-fit:contain}body.precision .photo-caption{color:#20242a;text-shadow:none}body.future .hero-photo{left:0}body.future .hero-photo img{object-position:right 65%;object-fit:cover}body.future .hero-photo:after{background:linear-gradient(90deg,#0b0d10f5 5%,#0b0d10ce 35%,#0b0d1022 100%)}@media(max-width:700px){body.precision .hero-photo{inset:420px 0 0;height:465px}body.precision .photo-caption{bottom:90px;background:#fff;padding:10px}body.future .hero-photo{inset:400px 0 0}body.future .hero-photo:after{background:linear-gradient(#0b0d10,transparent 40%,#0b0d10)}}
@media(max-width:360px){.header{gap:12px}.header .brand{width:84px}.header-cta{font-size:10px;padding:11px 9px;gap:8px}.menu-toggle{white-space:nowrap;font-size:10px}.menu-toggle span{margin-left:3px}.hero h1{font-size:40px}.hero-copy{padding-top:35px}}

/* La marca original permanece íntegra; el halo suaviza solo su soporte. */
.brand{padding:0 3px;border-radius:5px;box-shadow:0 0 5px 2px #fff,0 0 10px 3px #ffffff45;margin:0 9px}
.header nav{gap:27px}.header{gap:31px}.product-title h3{min-height:50px}.product-image.contain img{padding:0}.product-image{background:#eef0f2}.product-image.contain{background:#f5f6f7}.product-image.contain img{background:transparent}.product-open:hover .product-image img{transform:scale(1.025)}
.availability{position:absolute;left:14px;bottom:14px;background:var(--black);color:var(--yellow);padding:10px 13px;font-size:9px;letter-spacing:.8px;border:1px solid #ffffff30}.product-status{display:inline-block;background:#f6eacb;color:#614000;font-size:11px;padding:10px 14px;margin-bottom:18px}.source-note{font-size:11px!important;line-height:1.7;color:#687078;max-width:850px}.source-note a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
dialog{width:min(1120px,94vw);padding:28px;max-height:92dvh}.dialog-layout{grid-template-columns:1.25fr 1fr;gap:35px}.dialog-close{font-size:11px;margin-bottom:20px}.dialog-details{padding-top:5px}.dialog-details h2{font-size:32px;letter-spacing:-1px}.dialog-details .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:20px}.gallery-stage{position:relative;aspect-ratio:1.1;background:#f1f2f3;display:flex;align-items:center;justify-content:center}.gallery-stage>img{width:100%;height:100%;max-height:54vh;object-fit:contain}.gallery-stage button{position:absolute;top:calc(50% - 23px);width:42px;height:46px;border:1px solid #c8cdd1;background:#fffffff0;font-size:28px;line-height:1;color:#20242a;display:grid;place-items:center}.gallery-prev{left:10px}.gallery-next{right:10px}.gallery-meta{display:flex;justify-content:space-between;gap:20px;padding:15px 0;color:#636a70;font-size:10px}.gallery-meta a{text-decoration:underline;text-underline-offset:4px}.gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.gallery-thumbs button{padding:3px;border:1px solid #c9ced2;background:white;height:66px;min-width:0}.gallery-thumbs button[aria-pressed=true]{border:2px solid #9e700d}.gallery-thumbs img{width:100%;height:100%;object-fit:cover}.product-docs{border-top:1px solid #d9dcdf;border-bottom:1px solid #d9dcdf;margin-top:25px;padding:15px 0}.brochure-link{display:flex;justify-content:space-between;padding:11px 0;font-size:12px;text-decoration:underline;text-underline-offset:4px}.dialog-whatsapp{display:block;margin-top:18px;font-size:11px;text-decoration:underline;text-underline-offset:4px}.dialog-details .button{margin-top:25px}
.about-v2{background:#f7f7f5}.purpose-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;margin-top:55px}.purpose-grid article{border-top:1px solid #bdc2c7;padding-top:24px}.purpose-grid article>span{font-size:9px;letter-spacing:1.8px;color:#6b7176}.purpose-grid h3{font-size:28px;margin:25px 0 16px;letter-spacing:-.7px}.purpose-grid p{font-size:14px;color:#5c646b;max-width:560px}.purpose-grid blockquote{font-size:16px;line-height:1.6;color:#8a640f;margin:22px 0 0;border-left:2px solid var(--yellow);padding-left:20px;max-width:330px}.values-line{display:flex;flex-wrap:wrap;gap:20px 40px;font-size:12px;margin:45px 0;padding:24px 0;border-top:1px solid #d8dcdf}.values-line strong{margin-right:auto}.values-line span{color:#616870}.policy{border-top:1px solid #bfc5ca;border-bottom:1px solid #bfc5ca}.policy summary{list-style:none;display:flex;gap:30px;align-items:center;padding:26px 0;cursor:pointer}.policy summary::-webkit-details-marker{display:none}.policy summary>span:first-child{font-size:21px}.policy summary>span:nth-child(2){margin-left:auto;font-size:10px;color:#656c73}.policy summary>span:last-child{font-size:24px;color:#8a640f}.policy[open] summary>span:last-child{transform:rotate(45deg)}.policy-content{padding:20px 0 25px;max-width:900px}.policy-content h3{font-size:20px;line-height:1.4}.policy-content p,.policy-content li{font-size:13px;line-height:1.8;color:#535d65}.policy-content li{padding-left:8px;margin-bottom:15px}
.documentation{background:white}.document-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.document-grid article{border:1px solid #d9dde1;padding:25px 20px;display:flex;flex-direction:column;min-height:190px}.doc-kind{font-size:7px;letter-spacing:1.4px;color:#6d747b}.document-grid h3{font-size:20px;line-height:1.25;letter-spacing:-.4px;margin:22px 0 25px}.document-grid article>div{margin-top:auto;display:flex;gap:17px;flex-wrap:wrap;font-size:10px}.document-grid a{text-decoration:underline;text-underline-offset:5px}.documentation>.source-note{margin:25px 0 0}.contact-direct{margin-top:30px;display:grid;gap:18px}.contact-direct a{font-size:15px;overflow-wrap:anywhere;width:fit-content}.contact-direct a:hover{color:var(--yellow)}.contact-direct small{display:block;font-size:8px;letter-spacing:1.8px;color:#adb5be;margin-bottom:8px}.contact-direct span{margin-left:10px}.contact .demo-note{margin-top:30px}.footer-links{width:100%;display:flex;flex-wrap:wrap;gap:25px;font-size:10px;padding-bottom:25px;border-bottom:1px solid #353b42;margin-bottom:15px}.footer-links a:hover{color:var(--yellow)}
@media(max-width:1000px){.header nav{gap:20px}.header{gap:23px}.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.purpose-grid{gap:35px}.header-cta{gap:15px}}
@media(max-width:700px){.header{gap:16px}.brand{margin:0 7px;box-shadow:0 0 4px 1px #fff,0 0 8px 2px #ffffff45}.header nav{gap:10px}.header .brand{width:87px}.header-cta{font-size:10px;padding:12px 10px;gap:10px}.menu-toggle{font-size:10px;white-space:nowrap}.product-title h3{min-height:0}.availability{font-size:8px;padding:9px 11px}.dialog-layout{grid-template-columns:1fr;gap:26px}dialog{padding:20px;max-height:93dvh}.gallery-stage{aspect-ratio:1.15}.gallery-stage>img{max-height:40vh}.gallery-thumbs{grid-template-columns:repeat(5,1fr)}.gallery-thumbs button{height:52px}.gallery-stage button{width:38px;height:44px}.dialog-details h2{font-size:29px}.purpose-grid{grid-template-columns:1fr;gap:30px;margin-top:35px}.purpose-grid h3{font-size:25px;margin-top:20px}.purpose-grid p{font-size:13px}.values-line{gap:18px 25px;margin:35px 0 25px}.values-line strong{width:100%}.policy summary{gap:14px;flex-wrap:wrap;padding:22px 0}.policy summary>span:nth-child(2){order:3;width:100%;margin-left:0;font-size:9px}.policy summary>span:last-child{margin-left:auto}.policy summary>span:first-child{font-size:20px}.policy-content p,.policy-content li{font-size:12px}.document-grid{gap:12px}.document-grid article{padding:19px 14px;min-height:195px}.document-grid h3{font-size:17px}.doc-kind{font-size:6px;letter-spacing:1px}.document-grid article>div{font-size:9px;gap:16px}.contact-direct a{font-size:14px}.footer-links{gap:20px}}
@media(max-width:360px){.header{gap:12px}.header .brand{width:75px}.header-cta{padding:10px 7px;gap:6px;font-size:9px}.menu-toggle{padding-left:0;font-size:9px}.document-grid{grid-template-columns:1fr}.document-grid article{min-height:165px}}

.brand{background:transparent;padding:0;margin:0;box-shadow:none;border-radius:0;width:145px}.brand img{height:76px;width:100%;object-fit:contain}.header{gap:25px}.header nav{gap:25px}.header-cta{gap:20px}.company-motto{font-size:9px;line-height:1.65;letter-spacing:1.3px;color:#b6bec6;max-width:430px;border-left:2px solid var(--yellow);padding-left:14px;margin:-10px 0 26px}.hero-copy{padding-top:55px}.hero{min-height:745px}.product-image.contain img{padding:6px}.reserve-card{display:block;margin-top:20px;background:var(--yellow);color:#191b1e;padding:14px 17px;font-size:11px;line-height:1.5;font-weight:600}.reserve-card:hover{background:#f2bc42}.reserve-dialog{width:100%;gap:12px}.dialog-details>.video-info{font-size:10px;line-height:1.7}.gallery-stage{aspect-ratio:1.4}.gallery-stage>img{max-height:52vh}.media-tabs{display:flex;gap:18px;border-bottom:1px solid #d3d9de;margin:0 0 18px}.media-tabs button{background:none;border:0;border-bottom:2px solid transparent;font-size:11px;padding:13px 1px;color:#67727b}.media-tabs button[aria-pressed=true]{border-color:#a2710e;color:#20242a}.media-tabs span{font-size:9px;margin-left:8px;color:#777f85}.video-item{margin-bottom:25px}.video-item h3{font-size:17px;line-height:1.4}.video-item video{width:100%;height:auto;max-height:50vh;background:#0b0d10}.video-info{font-size:10px;line-height:1.7;color:#65717b}.video-quality{display:flex;gap:8px;margin-top:12px}.video-quality button{font-size:10px;background:white;border:1px solid #bcc4cb;padding:10px 13px;min-height:40px}.video-quality button[aria-pressed=true]{background:#20242a;color:white}.video-download{font-size:11px;text-decoration:underline;text-underline-offset:4px}.youtube-slot{aspect-ratio:16/9;background:#171b20;display:flex;flex-direction:column;gap:20px;align-items:center;justify-content:center;color:white;min-height:180px}.youtube-slot>button{color:white;background:none;border:1px solid #59616b;padding:18px;font-size:12px;display:flex;align-items:center;gap:18px}.youtube-slot>button>span{display:grid;place-items:center;background:var(--yellow);color:#0b0d10;width:35px;height:35px;border-radius:50%}.youtube-slot>a{font-size:10px;color:#bcc5ce}.youtube-slot>iframe{width:100%;height:100%;min-height:230px;border:0}.ecosystem{background:#fff;border-top:1px solid #e2e6e9}.partner-group{margin-top:50px}.partner-heading{display:flex;align-items:baseline;justify-content:space-between;gap:25px;border-bottom:1px solid #ced5da;padding-bottom:18px;margin-bottom:23px}.partner-heading h3{font-size:24px;letter-spacing:-.5px;margin:0}.partner-heading p{font-size:11px;color:#68747f;margin:0}.partner-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.partner-grid figure{margin:0;border:1px solid #e4e8eb;background:white;min-height:132px;padding:22px 15px 15px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:15px}.partner-grid img{width:100%;height:55px;object-fit:contain}.partner-grid figcaption{font-size:8px;line-height:1.5;text-align:center;color:#77818b}.about-v2{background:#f3f4f3}.purpose-grid article{background:#fff;border:0;padding:35px;border-top:3px solid #dfae42}.purpose-grid{gap:25px}.purpose-grid blockquote{font-size:14px}.values-line{background:#20242a;color:white;border:0;padding:25px}.values-line span{color:#d8dee3}.policy{background:#fff;padding:0 25px;border:1px solid #d3d9dd}.policy-content{padding:10px 0 30px}.footer-links{gap:22px}
@media(max-width:1000px){.brand{width:125px}.header nav{gap:18px}.header{gap:20px}.partner-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.header-cta{gap:12px}}
@media(max-width:700px){.header .brand{width:96px;margin:0}.brand img{height:63px}.header{gap:15px}.header nav{gap:10px}.hero{min-height:925px}.hero-copy{padding-top:35px}.hero-photo{inset:445px 0 0;height:480px}.company-motto{font-size:7px;letter-spacing:1px;max-width:300px;margin:0 0 20px;padding-left:10px}.hero-description{margin-bottom:18px}.gallery-stage{aspect-ratio:1.35}.gallery-stage>img{max-height:36vh}.media-tabs{gap:22px}.media-tabs button{min-height:44px}.video-item h3{font-size:16px}.youtube-slot{min-height:170px}.youtube-slot>iframe{min-height:180px}.partner-heading{display:block}.partner-heading p{margin-top:12px}.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.partner-grid figure{padding:18px 12px;min-height:120px}.partner-grid img{height:50px}.partner-heading h3{font-size:22px}.partner-group{margin-top:35px}.purpose-grid article{padding:25px}.purpose-grid h3{font-size:24px}.values-line{padding:23px;gap:20px}.policy{padding:0 18px}.reserve-card{font-size:11px;margin-top:16px}.video-quality button{min-height:44px}.dialog-details .button{line-height:1.6}.ecosystem .eyebrow{line-height:1.8;max-width:280px}}
@media(max-width:360px){.header .brand{width:80px}.brand img{height:58px}.header{gap:10px}.hero-photo{inset:455px 0 0;height:470px}.company-motto{max-width:250px}.partner-grid figure{min-height:112px}.partner-grid img{height:45px}}
@media(prefers-reduced-motion:reduce){.policy summary>span:last-child{transition:none}}
.product{display:flex;flex-direction:column}.product-open{height:auto;flex:1}.reserve-card{flex-shrink:0}.media-tabs [hidden],#photo-panel[hidden],#video-panel[hidden]{display:none!important}
@media(max-width:700px){html{scroll-padding-top:95px}}

.product-video-link{display:flex;align-items:center;gap:10px;border:1px solid #b9c2c9;background:#f3f5f6;color:#20242a;padding:14px 16px;margin-top:18px;font-size:11px;text-align:left;min-height:46px}.product-video-link>span:last-child{margin-left:auto;background:#20242a;color:white;border-radius:50%;width:20px;height:20px;display:grid;place-items:center;font-size:9px}.product-video-link:hover{border-color:#9c6d0d;background:#fff5dc}.video-library{background:#101418;color:#f6f7f8}.video-library .section-heading>p{color:#aeb9c2}.video-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.video-library-card{padding:0;background:transparent;border:0;color:white;text-align:left;min-width:0}.video-library-image{position:relative;display:block;aspect-ratio:1.4;overflow:hidden;background:#252b30}.video-library-image>img{width:100%;height:100%;object-fit:contain;opacity:.7;transition:opacity .2s,transform .3s}.video-library-card:hover img{opacity:1;transform:scale(1.025)}.video-play{position:absolute;inset:calc(50% - 25px) auto auto calc(50% - 25px);display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--yellow);color:#15191d;font-size:17px;padding-left:3px}.video-count{position:absolute;right:10px;bottom:10px;background:#101418e8;padding:7px 9px;font-size:9px}.video-library-title{display:flex;justify-content:space-between;gap:15px;font-size:16px;line-height:1.4;padding-top:18px}.video-library-title>span{color:var(--yellow)}.media-tabs{gap:10px;border:0}.media-tabs button{border:1px solid #c5cdd3;padding:12px 14px;background:#fff;font-size:11px;min-height:44px}.media-tabs button[data-gallery-tab=videos]{background:var(--yellow);color:#16191d;border-color:var(--yellow);font-weight:600}.media-tabs span{color:inherit}.media-tabs button[aria-pressed=true]{border-color:#20242a}.product-videos{margin-top:32px;border-top:2px solid #d5a12e;padding-top:26px;scroll-margin-top:20px}.product-videos>.eyebrow{margin-bottom:12px;font-size:8px}.product-videos>h3{font-size:25px;letter-spacing:-.6px;margin-bottom:25px}.product-videos .video-item>h3{font-size:15px}.brochure-link{justify-content:flex-start;align-items:center;gap:15px;text-decoration:none}.brochure-link>img{width:46px;height:62px;object-fit:contain;background:#eceff1;border:1px solid #d9dfe3}.brochure-link>span{text-decoration:underline;text-underline-offset:4px;line-height:1.6}.document-grid article{padding:20px;min-height:380px}.brochure-cover{display:flex;align-items:center;justify-content:center;background:#e9edf0;min-height:185px;margin:-1px -1px 22px;padding:15px}.brochure-cover>img{width:100%;height:170px;object-fit:contain;filter:drop-shadow(0 4px 5px #16212e24);transition:transform .2s}.brochure-cover:hover>img{transform:translateY(-3px)}.document-grid h3{font-size:19px;margin:17px 0 24px}.document-grid article>div{gap:16px}.header nav{gap:21px}
@media(max-width:1000px){.video-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header nav{gap:14px}.header{gap:20px}.header nav a{font-size:12px}}
@media(max-width:700px){.video-library-grid{gap:27px 15px}.video-library-title{font-size:13px;padding-top:13px}.video-play{width:42px;height:42px;inset:calc(50% - 21px) auto auto calc(50% - 21px);font-size:14px}.video-count{font-size:8px;padding:6px}.product-video-link{font-size:12px}.media-tabs button{font-size:10px;padding:12px 10px}.product-videos{margin-top:27px}.document-grid article{padding:16px 13px;min-height:350px}.brochure-cover{min-height:155px;padding:12px;margin-bottom:17px}.brochure-cover>img{height:145px}.document-grid h3{font-size:17px;line-height:1.4}.header nav a{font-size:14px}.header nav{gap:10px}}
@media(max-width:360px){.video-library-grid{grid-template-columns:1fr}.video-library-image{aspect-ratio:1.6}.document-grid article{min-height:320px}.brochure-cover>img{height:170px}}
@media(prefers-reduced-motion:reduce){.video-library-image>img,.brochure-cover>img{transition:none}}
.dialog-close{position:sticky;top:0;z-index:3;box-shadow:0 0 0 8px #fff}
.product-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.product-videos>.eyebrow,.product-videos>h3{grid-column:1/-1}.product-videos>.video-item:has(video){grid-column:1/-1;width:min(100%,850px)}.product-videos video{object-fit:contain}.product-videos>h3{scroll-margin-top:80px}
@media(max-width:700px){.product-videos{grid-template-columns:1fr;gap:0}.product-videos>.video-item:has(video){width:100%}}

#form-status:empty{display:none}#form-status[role=alert]{color:#ffe2b0}#form-status{scroll-margin-top:110px}.partner-grid figcaption{color:#65717b}.error-page{min-height:75vh;background:#0b0d10;color:#fff}.error-page h1{font-size:clamp(32px,6vw,65px)}

:root{--color-bg:#0F1115;--color-surface:#14181D;--color-panel:#1B2026;--color-steel:#2A2F36;--color-text:#F4F6F8;--color-silver:#D9DDE2;--color-muted:#AEB6BF;--color-accent:#F59A1B;--color-accent-hover:#FFB326;--color-accent-deep:#D97A00;--color-line:#343B43;--font-body:"Exo 2",'Segoe UI', Arial, sans-serif;--font-heading:"Exo 2",'Segoe UI', Arial, sans-serif;}
/* VASKOR: identidad visual. Se carga después de base.css y de los tokens. */
:root {
  --black: var(--color-bg, #0f1115);
  --graphite: var(--color-panel, #2a2f36);
  --yellow: var(--color-accent, #f59a1b);
  --white: var(--color-text, #f4f6f8);
  --paper: var(--color-surface, #14181d);
  --muted: var(--color-muted, #aeb6bf);
  --ink: var(--color-text, #f4f6f8);
  --vaskor-photo: #edf0f3;
  --vaskor-photo-edge: #ced5dc;
  color-scheme: dark;
}

/* Logo de referencia aprobado: PNG original, sin redibujo. Sólo se encuadran
   márgenes exteriores (60,240,1328,586 del lienzo 1448x1086).
   La transición alfa sólo ocupa el margen oscuro, fuera de letras y órbita. */
.header:has(.approved-logo) { height: 138px; padding-top: 10px; padding-bottom: 10px; }
.brand.approved-logo, .header .brand.approved-logo {
  display: block;
  position: relative;
  overflow: hidden;
  width: 260px;
  height: auto;
  aspect-ratio: 1328 / 586;
  padding: 0;
  flex-shrink: 0;
  background: transparent;
  mix-blend-mode: lighten;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent), linear-gradient(0deg, transparent, #000 6%, #000 94%, transparent);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent), linear-gradient(0deg, transparent, #000 6%, #000 94%, transparent);
  mask-composite: intersect;
}
.brand.approved-logo > img {
  position: absolute;
  width: 109.036144578%;
  max-width: none;
  height: auto;
  left: -4.518072289%;
  top: -40.955631399%;
  object-fit: initial;
}
footer .brand.approved-logo { width: min(400px, 100%); }
.header nav .nav-contact { display: none; }
.provenance-note { border-left: 2px solid #58616b; padding-left: 12px; }
@media (max-width: 1120px) and (min-width: 821px) {
  .header .brand.approved-logo { width: 228px; }
  .header:has(.approved-logo) { gap: 18px; }
  .header:has(.approved-logo) nav { gap: 13px; }
}
@media (max-width: 820px) {
  .header:has(.approved-logo) { height: 116px; gap: 16px; padding-block: 8px; }
  .header .brand.approved-logo { width: 224px; }
  .header:has(.approved-logo) > .header-cta { display: none; }
  .header:has(.approved-logo) .menu-toggle { margin-left: auto; }
  .header:has(.approved-logo) nav { top: 100%; }
  .header nav .nav-contact { display: block; }
  footer .brand.approved-logo { width: min(340px, 100%); }
}
@media (max-width: 360px) {
  .header:has(.approved-logo) { height: 110px; gap: 12px; }
  .header .brand.approved-logo { width: 200px; }
}
html { background: var(--black); }
body {
  background: var(--black);
  color: var(--white);
  font-family: var(--font-body, "Segoe UI", Arial, sans-serif);
  font-size: 15px;
  line-height: 1.6;
}
button, input, textarea { font-family: inherit; }
h1, h2, h3, .product-status, .video-library-title {
  font-family: var(--font-heading, "Exo 2", "Bahnschrift", "Segoe UI", sans-serif);
  color: var(--color-silver, #d9dde2);
  font-weight: 600;
}
h1, h2 { letter-spacing: -.035em; }
h3 { letter-spacing: -.018em; }
em, .cross { color: var(--yellow); }
a, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, summary:focus-visible {
  outline: 2px solid var(--color-accent-hover, #ffb326);
  outline-offset: 5px;
}
a, button { transition: color .18s ease, background-color .18s ease, border-color .18s ease; }
::selection { color: #0f1115; background: var(--yellow); }
.skip { background: var(--yellow); color: #0f1115; font-weight: 600; }

/* El logo horizontal no necesita la placa blanca ni el halo anteriores. */
.header {
  height: 104px;
  gap: 26px;
  background: var(--black);
  border-bottom: 1px solid var(--color-line, #343b44);
}
.brand, .header .brand {
  width: 210px;
  padding: 0;
  margin: 0;
  background: transparent;
  box-shadow: none;
  border: 0;
  border-radius: 0;
}
.brand img { width: 100%; height: 70px; object-fit: contain; }
.header nav { gap: 22px; }
.header nav a { color: var(--color-silver, #d9dde2); font-size: 12px; }
.header nav a:hover, .footer-links a:hover { color: var(--color-accent-hover, #ffb326); }
.header-cta {
  color: var(--white);
  border-color: #626d79;
  gap: 20px;
  padding: 14px 18px;
  font-size: 12px;
  font-weight: 500;
}
.header-cta:hover { color: var(--yellow); background: var(--paper); border-color: var(--yellow); }
.header-cta span { color: var(--yellow); }
.menu-toggle { color: var(--white); min-height: 44px; }
.header-cta { min-height: 44px; }

/* Fotografía original y una órbita quieta, tenue, sin efectos de velocidad. */
.hero { isolation: isolate; background: var(--black); color: var(--white); min-height: 745px; }
.hero::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 12%;
  right: -16%;
  width: 76%;
  height: 40%;
  border: 1px solid #f59a1b35;
  border-left-color: transparent;
  border-bottom-color: transparent;
  border-radius: 50%;
  transform: rotate(-17deg);
  pointer-events: none;
}
.hero-photo { z-index: 0; }
.hero-photo::after {
  background: linear-gradient(90deg, #0f1115 0%, #0f1115bf 20%, #0f11151a 65%),
              linear-gradient(0deg, #0f1115ed 0%, #0f111500 42%);
}
.hero-copy { z-index: 2; }
.hero h1 {
  font-size: clamp(52px, 5.7vw, 86px);
  font-weight: 600;
  letter-spacing: -.04em;
  line-height: 1.04;
  color: var(--color-silver, #d9dde2);
}
.hero h1 em { color: var(--yellow); }
.eyebrow, .eyebrow.dark {
  color: var(--muted);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1.9px;
  line-height: 1.6;
}
.hero .eyebrow { color: var(--color-silver, #d9dde2); }
.dot { width: 5px; height: 5px; border-radius: 50%; background: var(--yellow); }
.hero-description { color: #c6cdd4; font-size: 16px; line-height: 1.75; }
.company-motto { color: var(--muted); border-color: var(--yellow); font-size: 10px; }
.hero-bottom { color: #c0c8d0; border-color: #d9dde230; z-index: 2; }
.hero-bottom a:hover { color: var(--yellow); }
.photo-caption { color: var(--white); z-index: 2; text-shadow: 0 2px 10px #000; }
.discipline-bar {
  background: var(--paper);
  border-color: var(--color-line, #343b44);
  color: var(--muted);
}
.discipline-bar i { color: var(--yellow); opacity: .65; }
.button { border-radius: 2px; font-weight: 600; font-size: 12px; }
.yellow, .reserve-card {
  background: var(--yellow);
  color: #0f1115;
  border-color: var(--yellow);
}
.yellow:hover, .reserve-card:hover {
  background: var(--color-accent-hover, #ffb326);
  color: #0f1115;
  box-shadow: inset 0 -2px 0 var(--color-accent-deep, #d97a00);
}
.text-link, .underlink { color: var(--color-silver, #d9dde2); border-color: #7f8a96; }
.text-link:hover { color: var(--yellow); border-color: var(--yellow); }
.section-heading > p { color: var(--muted); font-size: 14px; }
.section-heading h2, h2 { font-weight: 600; }

/* Catálogo: superficies oscuras, fotografías fieles sobre soportes neutros. */
.products { background: var(--black); }
.filters { border-color: var(--color-line, #343b44); }
.filters button {
  color: #c5cdd5;
  background: var(--paper);
  border-color: #5b6672;
  font-size: 12px;
}
.filters button:hover { color: var(--white); border-color: var(--yellow); }
.filters button[aria-pressed="true"] {
  color: #0f1115;
  background: var(--yellow);
  border-color: var(--yellow);
  font-weight: 600;
}
.product-grid { gap: 28px 24px; }
.product {
  min-width: 0;
  background: var(--paper);
  border: 1px solid var(--color-line, #343b44);
  border-radius: 3px;
  overflow: hidden;
}
.product-open { padding: 0 0 22px; color: var(--white); display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; }
.product-image, .product-image.contain { background: var(--vaskor-photo); border-radius: 0; aspect-ratio: 4 / 3; flex: none; }
.product-image img, .product-image.contain img { background: transparent; padding: 0; object-fit: cover; object-position: center; }
.product-open > .product-title, .product-open > p, .product-open > .underlink { margin-inline: 14px; }
.product-open[data-product="espejos"] .product-image img { object-position: center bottom; }
.product-open[data-product="ingenieria"] .product-image img { object-position: center 58%; }
.product-index {
  color: var(--white);
  background: #14181de8;
  border: 1px solid #d9dde23d;
  padding: 6px 9px;
  font-size: 9px;
}
.product-title { margin-top: 22px; }
.product-title small { color: var(--muted); font-size: 9px; letter-spacing: 1.25px; }
.product h3 { color: var(--color-silver, #d9dde2); font-size: 23px; font-weight: 600; }
.product p { color: var(--muted); font-size: 13px; line-height: 1.7; max-width: none; }
.circle-arrow { color: var(--yellow); border-color: #66727f; }
.product-open:hover .circle-arrow { color: #0f1115; border-color: var(--yellow); background: var(--yellow); }
.underlink { color: #d9dde2; font-size: 12px; }
.availability { color: var(--yellow); background: #14181ded; border-color: #f59a1b66; }
.reserve-card { margin: 0 14px 14px; border-radius: 2px; font-size: 12px; }
.catalogue-note { color: var(--muted); border-color: var(--color-line, #343b44); }
.catalogue-note a { color: var(--color-silver, #d9dde2); }
.catalogue-note a:hover { color: var(--yellow); }
.product-video-link {
  margin: 0 14px 14px;
  background: #20262d;
  border-color: #65717e;
  color: var(--color-silver, #d9dde2);
  border-radius: 2px;
}
.product-video-link > span:first-child { color: var(--yellow); }
.product-video-link > span:last-child { color: #0f1115; background: var(--yellow); }
.product-video-link:hover { background: #2a3038; border-color: var(--yellow); color: var(--white); }

.video-library { background: var(--paper); border-block: 1px solid var(--color-line, #343b44); }
.video-library .section-heading > p { color: var(--muted); }
.video-library-image { background: #e1e6eb; border: 1px solid #65717e; border-radius: 2px; }
.video-library-image > img { opacity: .92; }
.video-library-card { color: var(--color-silver, #d9dde2); }
.video-library-card:hover .video-library-title { color: var(--white); }
.video-play { color: #0f1115; background: var(--yellow); box-shadow: 0 0 0 8px #14181d36; }
.video-count { color: var(--white); background: #14181def; }
.video-library-title { font-weight: 500; }
.video-library-title > span { color: var(--yellow); }
.solutions { background: var(--black); }
.solutions .section-heading > p, .solution-list p { color: var(--muted); }
.solution-list > a, .solution-list > a:last-child { border-color: var(--color-line, #343b44); }
.solution-list h3 { color: var(--color-silver, #d9dde2); }
.solution-list .number, .solution-list > a > span:last-child { color: var(--yellow); }
.solution-list > a:hover { background: #ffffff03; }
.engineering { background: var(--paper); border-block: 1px solid var(--color-line, #343b44); }
.engineering-copy h2 em { color: var(--yellow); }
.engineering-copy > p:not(.eyebrow), .process small { color: var(--muted); }
.engineering-copy > p:not(.eyebrow) { font-size: 14px; }
.process { border-color: var(--color-line, #343b44); }
.process > span { color: var(--yellow); }
.process p { color: var(--color-silver, #d9dde2); }
.engineering-photo > span { color: #f4f6f8; }

/* Documentación y relaciones conservan fondos neutros para sus imágenes. */
.documentation, .ecosystem { background: var(--black); border-color: var(--color-line, #343b44); }
.document-grid article {
  background: var(--paper);
  border-color: var(--color-line, #343b44);
  border-radius: 3px;
}
.doc-kind { color: var(--muted); font-size: 9px; letter-spacing: 1px; }
.document-grid h3 { color: var(--color-silver, #d9dde2); font-weight: 600; }
.document-grid a { color: var(--color-silver, #d9dde2); }
.document-grid a:hover { color: var(--yellow); }
.brochure-cover { background: #e6ebef; border-radius: 2px; }
.brochure-cover > img { filter: drop-shadow(0 3px 5px #0f111526); }
.source-note { color: var(--muted); }
.source-note a { color: var(--color-silver, #d9dde2); }
.partner-heading { border-color: var(--color-line, #343b44); }
.partner-heading h3 { color: var(--color-silver, #d9dde2); }
.partner-heading p { color: var(--muted); font-size: 12px; }
.partner-grid figure { background: #f4f6f8; border-color: #88939e; border-radius: 2px; min-height: 112px; padding: 18px 12px 14px; gap: 12px; }
.partner-grid img { max-width: 82%; height: 44px; }
.partner-grid figcaption { color: #465361; font-size: 9px; }
.about, .about-v2 { background: var(--paper); border-block: 1px solid var(--color-line, #343b44); }
.about p { color: var(--muted); }
.purpose-grid article { background: #1b2026; border-top: 2px solid var(--yellow); border-radius: 2px; }
.purpose-grid article > span { color: var(--muted); font-size: 10px; }
.purpose-grid h3 { color: var(--color-silver, #d9dde2); }
.purpose-grid p { color: var(--muted); }
.purpose-grid blockquote { color: #d9dde2; border-color: var(--yellow); }
.values-line { background: #232a32; color: var(--color-silver, #d9dde2); }
.values-line span { color: #c0c9d1; }
.policy { background: #1b2026; border-color: #4d5966; }
.policy summary > span:first-child { color: var(--color-silver, #d9dde2); }
.policy summary > span:nth-child(2) { color: var(--muted); }
.policy summary > span:last-child { color: var(--yellow); }
.policy-content h3 { color: var(--color-silver, #d9dde2); }
.policy-content p, .policy-content li { color: #bdc6ce; }

/* Los campos desactivados siguen legibles y claramente no disponibles. */
.contact { background: #11151a; border-top: 1px solid var(--color-line, #343b44); }
.contact h2 { color: var(--color-silver, #d9dde2); }
.contact > div > p:not(.eyebrow), .demo-note p { color: var(--muted); }
.contact-direct { gap: 22px; }
.contact-direct small { color: var(--muted); font-size: 9px; }
.contact-direct a { color: var(--color-silver, #d9dde2); font-size: 16px; }
.contact-direct a:hover, .contact-direct a > span { color: var(--yellow); }
.demo-note { border-color: var(--yellow); }
.demo-note strong { color: var(--color-silver, #d9dde2); }
.contact label { color: #c5cdd6; font-size: 12px; }
.contact input:not([type="checkbox"]), .contact textarea {
  color: var(--white);
  border-color: #6b7785;
  background: transparent;
}
.contact input::placeholder, .contact textarea::placeholder { color: #a0abb7; font-size: 13px; }
.contact input:disabled, .contact textarea:disabled { opacity: 1; cursor: not-allowed; -webkit-text-fill-color: #a0abb7; }
.contact button:disabled {
  cursor: not-allowed;
  background: #2a2f36;
  color: #b9c2cc;
  border: 1px solid #66717d;
  opacity: 1;
  transform: none;
}
.contact button:disabled:hover { background: #2a2f36; color: #b9c2cc; transform: none; box-shadow: none; }
.consent { color: var(--muted); }
.consent input { accent-color: var(--yellow); }
#form-status { color: #d9dde2; }
#form-status[role="alert"] { color: #ffcd88; }
footer { color: var(--muted); background: var(--black); border-top: 1px solid var(--color-line, #343b44); }
footer .brand { width: 210px; }
footer .brand img { height: 65px; }
footer p { color: #c0c9d1; font-size: 10px; line-height: 1.7; letter-spacing: 1.2px; }
footer > a:not(.brand):hover { color: var(--yellow); }
footer small, .footer-links { border-color: var(--color-line, #343b44); }
footer small { color: #a4aeb9; font-size: 10px; }
.footer-links { color: #c5cdd5; font-size: 11px; }

/* Galerías y fichas: mismos controles, nueva identidad. */
dialog {
  color: var(--white);
  background: var(--paper);
  border: 1px solid #66717e;
  border-radius: 3px;
  box-shadow: 0 24px 100px #0009;
}
dialog::backdrop { background: #080b10d9; backdrop-filter: blur(5px); }
.dialog-close {
  color: var(--color-silver, #d9dde2);
  background: #242b33;
  border: 1px solid #65717e;
  box-shadow: 0 0 0 8px var(--paper);
  border-radius: 2px;
  min-height: 44px;
}
.dialog-close:hover { color: var(--yellow); border-color: var(--yellow); }
.dialog-layout h2, .dialog-details h2 { color: var(--color-silver, #d9dde2); font-weight: 600; }
.dialog-layout p, .dialog-layout dd, .dialog-details > .video-info { color: var(--muted); }
.dialog-layout dt { color: var(--color-silver, #d9dde2); }
.gallery-stage, .dialog-gallery img { background: var(--vaskor-photo); border-radius: 2px; }
.gallery-stage button { background: #20262df0; color: #f4f6f8; border-color: #8f9ba8; border-radius: 2px; }
.gallery-stage button:hover { background: var(--yellow); border-color: var(--yellow); color: #0f1115; }
.gallery-meta { color: var(--muted); font-size: 11px; }
.gallery-meta a { color: var(--color-silver, #d9dde2); }
.gallery-meta a:hover { color: var(--yellow); }
.gallery-thumbs { padding: 3px; }
.gallery-thumbs button { background: var(--vaskor-photo); border-color: #8995a2; border-radius: 2px; }
.gallery-thumbs button[aria-pressed="true"] { border-color: var(--yellow); outline: 2px solid var(--yellow); outline-offset: 1px; }
.product-status { color: #0f1115; background: var(--yellow); font-size: 11px; }
.product-docs { border-color: var(--color-line, #343b44); }
.brochure-link { color: var(--color-silver, #d9dde2); }
.brochure-link > img { background: var(--vaskor-photo); border-color: var(--vaskor-photo-edge); }
.brochure-link:hover, .dialog-whatsapp, .video-download { color: var(--yellow); }
.dialog-whatsapp:hover, .video-download:hover { color: var(--color-accent-hover, #ffb326); }
.media-tabs button {
  color: #c5cdd5;
  background: #242b33;
  border-color: #65717e;
  border-radius: 2px;
}
.media-tabs button[data-gallery-tab="videos"] { color: #0f1115; background: var(--yellow); border-color: var(--yellow); }
.media-tabs button[aria-pressed="true"] { outline: 2px solid var(--yellow); outline-offset: 2px; border-color: var(--yellow); }
.media-tabs button[data-gallery-tab="photos"][aria-pressed="true"] { color: var(--color-silver, #d9dde2); }
.media-tabs button:hover { border-color: var(--color-accent-hover, #ffb326); }
.media-tabs span { color: inherit; }
.product-videos { border-color: var(--yellow); }
.product-videos > h3, .video-item h3 { color: var(--color-silver, #d9dde2); }
.video-quality button { background: #242b33; color: var(--color-silver, #d9dde2); border-color: #778493; border-radius: 2px; }
.video-quality button[aria-pressed="true"] { background: var(--yellow); border-color: var(--yellow); color: #0f1115; }
.video-info { color: var(--muted); }
.youtube-slot { background: #0f1115; border: 1px solid var(--color-line, #343b44); }
.youtube-slot > button { color: var(--color-silver, #d9dde2); border-color: #7d8a98; }
.youtube-slot > button:hover { border-color: var(--yellow); }
.youtube-slot > button > span { background: var(--yellow); color: #0f1115; }
.youtube-slot > a { color: #bdc7d0; }
.youtube-slot > a:hover { color: var(--yellow); }
.error-page { background: var(--black); color: var(--white); }
.error-page h1 { color: var(--color-silver, #d9dde2); }
.direction-bar { background: var(--yellow); color: #0f1115; }

@media (max-width: 1120px) {
  .header, .header nav { gap: 16px; }
  .brand, .header .brand { width: 180px; }
  .header-cta { gap: 13px; padding: 13px 14px; }
  .header nav a { font-size: 11px; }
  .product h3 { font-size: 21px; }
}
@media (max-width: 920px) {
  .brand, .header .brand { width: 164px; }
  .header { gap: 12px; }
  .header nav { gap: 12px; }
  .header-cta { font-size: 11px; gap: 10px; padding: 12px; }
}
@media (max-width: 820px) {
  .header { height: 88px; gap: 12px; justify-content: space-between; }
  .brand, .header .brand { width: 180px; }
  .brand img { height: 60px; }
  .header-cta { margin-left: auto; }
  .menu-toggle { display: block; background: none; border: 0; padding: 13px 0 13px 6px; font-size: 11px; white-space: nowrap; }
  .menu-toggle span { margin-left: 5px; color: var(--yellow); }
  .header nav {
    display: none;
    position: absolute;
    top: 88px;
    left: 0;
    right: 0;
    padding: 22px 6%;
    margin: 0;
    background: var(--paper);
    border-bottom: 1px solid #65717e;
    box-shadow: 0 14px 22px #0005;
  }
  .header nav.open { display: flex; flex-direction: column; gap: 6px; }
  .header nav a { font-size: 14px; padding: 9px 0; }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 95px; }
  .header { padding: 12px 6%; gap: 12px; }
  .header .brand { width: 174px; }
  .header-cta { font-size: 10px; gap: 9px; padding: 12px 10px; }
  .menu-toggle { font-size: 10px; }
  .hero { min-height: 925px; }
  .hero::before { top: 51%; right: -35%; width: 128%; height: 23%; opacity: .6; }
  .hero h1 { font-size: clamp(45px, 11.7vw, 70px); line-height: 1.06; letter-spacing: -.035em; }
  .hero .eyebrow { font-size: 9px; letter-spacing: 1.1px; }
  .hero-description { font-size: 14px; line-height: 1.75; }
  .hero-photo::after { background: linear-gradient(#0f1115 0%, #0f11152e 25%, #0f111500 45%, #0f1115 100%); }
  .company-motto { font-size: 8px; line-height: 1.7; max-width: 310px; }
  .hero-bottom { font-size: 8px; }
  .hero-bottom > span { max-width: 55%; }
  .button { font-size: 12px; }
  .hero .text-link { font-size: 12px; }
  .section-heading > p { font-size: 13px; }
  .eyebrow, .eyebrow.dark { font-size: 9px; letter-spacing: 1.5px; }
  .product-grid { gap: 28px; }
  .product-open { padding: 0 0 20px; }
  .product h3 { font-size: 24px; }
  .product-title small { font-size: 9px; }
  .product p { font-size: 13px; }
  .reserve-card, .product-video-link { margin-inline: 12px; margin-bottom: 12px; }
  .partner-grid figcaption { font-size: 9px; }
  .partner-grid img { height: 38px; }
  .contact-direct a { font-size: 15px; }
  .contact label { font-size: 12px; }
  .contact input, .contact textarea { font-size: 16px; }
  footer .brand { width: 210px; }
  footer p { font-size: 9px; }
  footer small { font-size: 9px; }
  .footer-links { font-size: 11px; }
  .dialog-layout p, .dialog-layout dd { font-size: 13px; }
  .gallery-meta { font-size: 11px; }
  .media-tabs { gap: 10px; }
  .media-tabs button { font-size: 11px; padding: 12px 10px; }
}
@media (max-width: 420px) {
  .header .brand { width: 148px; }
  .header { gap: 8px; }
  .header-cta { padding: 11px 8px; gap: 6px; font-size: 9px; }
  .menu-toggle { font-size: 9px; padding-left: 3px; }
  .product h3 { font-size: 22px; }
}
@media (max-width: 360px) {
  .header { padding-inline: 5%; gap: 7px; }
  .header .brand { width: 130px; }
  .header-cta { padding: 10px 7px; font-size: 9px; }
  .menu-toggle span { margin-left: 3px; }
  .hero h1 { font-size: 40px; }
  .hero .eyebrow { font-size: 8px; letter-spacing: .85px; }
}
@media (prefers-reduced-motion: reduce) {
  a, button, .hero::before { transition: none; }
}
