*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Arial,Helvetica,sans-serif;background:#fff}

.site-header{
  position:relative;
  width:100%;
  height:125px;
  overflow:visible;
  background:#031b36;
}

.photo-layer{
  position:absolute;
  inset:0;
  background-image:url("assets/rectifier-line.jpg");
  background-size:cover;
  background-position:center 43%;
  opacity:.34;
}

.dark-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,
    rgba(2,21,45,.98) 0%,
    rgba(3,28,58,.94) 25%,
    rgba(4,34,69,.79) 58%,
    rgba(2,21,45,.90) 100%);
}

.header-inner{
  position:relative;
  z-index:3;
  width:min(1880px,99%);
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:16px;
}

.logo{
  width:300px;
  flex:0 0 300px;
  display:flex;
  align-items:center;
  height:100%;
  overflow:hidden;
}

.logo img{
  width:290px;
  height:auto;
  display:block;
}

.main-nav{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
}

.nav-dropdown{position:relative}

.nav-tab{
  position:relative;
  min-width:104px;
  height:50px;
  padding:0 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
  background:linear-gradient(180deg,rgba(8,39,73,.92),rgba(2,21,44,.96));
  border:1px solid rgba(77,146,225,.20);
  clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);
  box-shadow:0 8px 18px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.05);
  transition:.2s ease;
}

.nav-tab::after{
  content:"";
  position:absolute;
  left:11%;
  right:11%;
  bottom:0;
  height:3px;
  background:#087cff;
  box-shadow:0 0 6px #087cff,0 0 13px rgba(8,124,255,.72);
  opacity:.8;
}

.nav-tab::before{
  content:"";
  position:absolute;
  width:54px;
  height:12px;
  top:-5px;
  left:50%;
  transform:translateX(-50%);
  background:radial-gradient(ellipse at center,rgba(255,255,255,.55) 0%,rgba(40,137,255,.16) 43%,rgba(0,0,0,0) 75%);
  opacity:.72;
}

.nav-tab:hover{
  color:#50aaff;
  transform:translateY(-2px);
}

.nav-tab.active{color:#38a1ff}
.nav-tab.active::after{height:4px;opacity:1}
.nav-tab.wide{min-width:195px}


.dropdown-menu{
  display:none;
  position:absolute;
  top:50px;
  left:7px;
  width:240px;
  padding:8px 0;
  background:rgba(2,25,51,.98);
  border:1px solid rgba(46,118,197,.32);
  box-shadow:0 12px 24px rgba(0,0,0,.40);
  z-index:20;
}

.dropdown-menu a{
  display:block;
  padding:12px 17px;
  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
}

.dropdown-menu a:hover{
  background:rgba(14,82,146,.48);
  color:#54b5ff;
}

.nav-dropdown:hover .dropdown-menu{display:block}

.menu-button{
  display:none;
  width:44px;
  height:44px;
  border:0;
  background:transparent;
  cursor:pointer;
}

.menu-button span{
  display:block;
  width:28px;
  height:3px;
  background:#fff;
  margin:5px auto;
}

.mobile-nav{
  display:none;
  position:relative;
  z-index:25;
  background:#031d3b;
  padding:8px 24px 20px;
}

.mobile-nav a{
  display:block;
  padding:13px 0;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.mobile-nav.open{display:block}

@media(max-width:1500px){
  .logo{width:320px;flex-basis:320px}
  .logo img{width:310px}
  .header-inner{gap:20px}
  .main-nav{gap:5px}
  .nav-tab{min-width:105px;padding:0 15px;font-size:13px}
  .nav-tab.wide{min-width:165px}
}

@media(max-width:1050px){
  .site-header{height:120px}
  .header-inner{padding:0 16px;justify-content:space-between}
  .logo{width:280px;flex-basis:280px}
  .logo img{width:270px}
  .main-nav{display:none}
  .menu-button{display:block}
}


/* ===== FINAL HEADER ADJUSTMENTS =====
   New transparent logo + menu moved left
*/
.header-inner{
  width:100%;
  max-width:none;
  padding:0 22px;
  gap:12px;
}

.logo{
  width:285px !important;
  flex:0 0 285px !important;
  height:100%;
  overflow:visible;
}

.logo img{
  width:275px !important;
  height:auto;
  object-fit:contain;
}

.main-nav{
  justify-content:flex-start !important;
  gap:4px !important;
  margin-left:4px;
}

.nav-tab{
  min-width:96px !important;
  height:48px !important;
  padding:0 12px !important;
  font-size:12px !important;
}

.nav-tab.wide{
  min-width:150px !important;
}

.dropdown-menu{
  top:48px !important;
}

@media (min-width:1501px){
  .logo{
    width:315px !important;
    flex-basis:315px !important;
  }
  .logo img{width:305px !important;}
  .nav-tab{
    min-width:105px !important;
    padding:0 14px !important;
    font-size:13px !important;
  }
  .nav-tab.wide{min-width:165px !important;}
}


/* =========================================================
   CORRECCION FINAL DE MENUS DESPLEGABLES
   ========================================================= */

/* Flecha limpia creada con CSS — no agrega ninguna letra extra */
.nav-tab.has-caret {
  padding-right: 25px !important;
}

.nav-tab.has-caret > span:first-child {
  display: inline-block;
}

.nav-tab.has-caret::marker {
  content: "";
}

.nav-tab.has-caret .chevron {
  display: none !important;
}

/* Caret separado del efecto ::after azul del botón */
.nav-tab.has-caret span:first-child::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 8px;
  vertical-align: middle;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid #ffffff;
  transform: translateY(-1px);
}

/* Los dos menús usan exactamente el mismo comportamiento */
.nav-dropdown {
  position: relative;
  z-index: 100;
}

.nav-dropdown .dropdown-menu {
  display: none;
  position: absolute;
  top: 48px !important;
  left: 0;
  width: 240px;
  padding: 8px 0;
  background: rgba(2,25,51,.99);
  border: 1px solid rgba(46,118,197,.40);
  box-shadow: 0 12px 24px rgba(0,0,0,.45);
  z-index: 9999;
}

/* Puente invisible para que el menú no se cierre al mover el mouse */
.nav-dropdown .dropdown-menu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -8px;
  height: 8px;
}

.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu {
  display: block !important;
}

.nav-dropdown .dropdown-menu a {
  display: block;
  padding: 12px 17px;
  color: #ffffff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

.nav-dropdown .dropdown-menu a:hover {
  background: rgba(14,82,146,.55);
  color: #54b5ff;
}

.about-menu {
  width: 175px !important;
}

/* Asegura que el header no recorte los submenus */
.site-header,
.header-inner,
.main-nav {
  overflow: visible !important;
}

/* =========================================================
   CONTACT US PAGE
   ========================================================= */
.contact-page{background:#f5f8fc;color:#0b213e;min-height:calc(100vh - 125px)}
.contact-hero{background:linear-gradient(135deg,#ffffff 0%,#f5f8fc 70%,#edf4fb 100%);padding:58px 24px 48px;border-bottom:1px solid #dce5ef}
.contact-container{width:min(1180px,calc(100% - 48px));margin:0 auto}
.contact-kicker{font-size:14px;font-weight:800;letter-spacing:3px;color:#087cff;margin-bottom:10px}
.contact-hero h1{font-size:48px;line-height:1.05;color:#071c38;margin-bottom:15px;font-weight:800}
.contact-hero p{font-size:18px;line-height:1.6;color:#43546a;max-width:760px}
.contact-accent{width:78px;height:4px;background:#087cff;margin-top:22px}
.contact-section{padding:55px 24px 70px}
.contact-grid{display:grid;grid-template-columns:.78fr 1.5fr;gap:34px;align-items:start}
.contact-info{background:linear-gradient(155deg,#061f3c,#0a315c);color:#fff;border-radius:10px;padding:38px 34px;box-shadow:0 16px 38px rgba(5,28,55,.15);position:sticky;top:20px;overflow:hidden}
.contact-info:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-110px;bottom:-110px;background:rgba(8,124,255,.13)}
.contact-info h2{font-size:27px;margin-bottom:15px}
.contact-info p{font-size:15px;line-height:1.7;color:#d6e4f4;margin-bottom:27px}
.info-item{padding:17px 0;border-top:1px solid rgba(255,255,255,.13)}
.info-label{display:block;color:#5eb6ff;font-size:11px;font-weight:800;letter-spacing:1.6px;margin-bottom:6px}
.info-value{font-size:15px;font-weight:700;line-height:1.45}
.form-card{background:#fff;border:1px solid #dce5ef;border-radius:10px;padding:38px;box-shadow:0 14px 35px rgba(12,38,68,.08)}
.form-title{font-size:26px;color:#071c38;margin-bottom:7px}
.form-subtitle{font-size:14px;color:#64758a;line-height:1.5;margin-bottom:30px}
.form-section-title{font-size:13px;font-weight:800;letter-spacing:1.5px;color:#0759d5;margin:29px 0 15px;padding-bottom:9px;border-bottom:1px solid #e7edf4}
.form-section-title:first-of-type{margin-top:0}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.form-group{display:flex;flex-direction:column;gap:7px}
.form-group.full{grid-column:1/-1}
.form-group label,.choice-label{font-size:13px;font-weight:800;color:#1c314b}
.required{color:#0759d5}
.form-group input,.form-group select,.form-group textarea{width:100%;border:1px solid #cfd9e5;background:#fbfcfe;border-radius:6px;padding:13px 14px;font:inherit;font-size:15px;color:#102b49;outline:none;transition:.18s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#087cff;box-shadow:0 0 0 3px rgba(8,124,255,.10);background:#fff}
.form-group textarea{min-height:150px;resize:vertical;line-height:1.5}
.choice-group{margin-bottom:20px}
.choice-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:9px}
.choice-option{position:relative}
.choice-option input{position:absolute;opacity:0;pointer-events:none}
.choice-option label{display:block;padding:10px 16px;border:1px solid #cfd9e5;border-radius:6px;background:#fbfcfe;color:#334a63;font-size:13px;font-weight:700;cursor:pointer;transition:.18s}
.choice-option input:checked + label{background:#0759d5;border-color:#0759d5;color:#fff;box-shadow:0 4px 10px rgba(7,89,213,.18)}
.choice-option label:hover{border-color:#7aaeea}
.submit-row{display:flex;align-items:center;gap:18px;margin-top:28px;flex-wrap:wrap}
.submit-btn{border:0;border-radius:5px;background:linear-gradient(180deg,#087cff,#0759d5);color:#fff;padding:14px 25px;font-size:13px;font-weight:800;letter-spacing:.7px;cursor:pointer;box-shadow:0 8px 18px rgba(7,89,213,.22)}
.submit-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.form-note{font-size:12px;color:#718197;line-height:1.45}
.form-status{display:none;margin-top:16px;padding:12px 14px;border-radius:5px;background:#eef6ff;color:#0759d5;font-size:13px;font-weight:700}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}.contact-info{position:static}.contact-hero h1{font-size:40px}}
@media(max-width:620px){.contact-container{width:100%}.contact-hero,.contact-section{padding-left:20px;padding-right:20px}.form-card{padding:25px 20px}.form-row{grid-template-columns:1fr}.contact-hero h1{font-size:34px}.choice-options{gap:8px}.choice-option label{padding:9px 12px}}

/* =========================================================
   CONTACT US - WIX INSPIRED LAYOUT
   ========================================================= */
.contact-page.wix-contact{background:#fff;color:#092849;min-height:calc(100vh - 125px)}
.wix-title-wrap{max-width:1450px;margin:0 auto;padding:34px 34px 18px}
.wix-title-wrap h1{font-size:48px;line-height:1;font-weight:800;letter-spacing:.3px;color:#082748}

.wix-contact-grid{max-width:1450px;margin:0 auto 50px;display:grid;grid-template-columns:minmax(560px,1.45fr) 330px 420px;align-items:stretch;min-height:780px}
.wix-left{padding:44px 34px 50px;background:#fff}
.blue-kicker{font-size:15px;font-weight:800;color:#0759d5;letter-spacing:.2px;margin-bottom:46px}
.intro-copy{max-width:650px;font-size:18px;line-height:1.55;color:#0b2a4a;margin-bottom:48px}

.contact-form{max-width:700px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 24px}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:14px;color:#34442f;font-weight:500}
.field input,.field select,.field textarea{width:100%;border:1px solid #aeb3b7;background:#fff;color:#102a43;font:inherit;padding:12px 13px;outline:none;transition:border-color .2s,box-shadow .2s}
.field input,.field select{height:48px}
.field textarea{resize:vertical;min-height:145px;line-height:1.45}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#0759d5;box-shadow:0 0 0 2px rgba(7,89,213,.10)}
.field select{appearance:auto;cursor:pointer}

.other-field{display:none;margin-top:9px;gap:8px;flex-direction:column}
.other-field.show{display:flex}
.other-field label{font-size:13px;color:#34442f;font-weight:500}
.other-field input{height:46px}

.full-field{margin-top:25px}
.submit-btn{margin-top:25px;border:0;background:#0759d5;color:#fff;font-weight:800;letter-spacing:.4px;padding:14px 28px;cursor:pointer;min-width:180px;transition:.2s}
.submit-btn:hover{background:#064cb6}
.form-status{display:none;margin-top:14px;font-size:13px;color:#5c6873}

.wix-middle{background:linear-gradient(180deg,#dbe7f6 0%,#c7d8ef 100%);padding:58px 26px 40px;text-align:center;display:flex;flex-direction:column;align-items:center}
.wix-middle h2{font-size:31px;line-height:1.1;color:#082748;margin-bottom:42px;font-weight:800}
.middle-sub{font-size:16px;line-height:1.35;color:#0a2947;margin-bottom:118px}
.contact-method{width:100%;display:grid;grid-template-columns:56px 1fr;align-items:center;text-align:left;gap:16px;margin-bottom:70px}
.round-icon{width:48px;height:48px;border-radius:50%;background:#075ff0;color:#fff;display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:700}
.contact-method strong{display:block;font-size:18px;color:#0a2947;margin-bottom:15px}
.contact-method span{display:block;font-size:18px;color:#1d4167;overflow-wrap:anywhere}

.wix-photo{min-height:780px;background-image:url("assets/contact-lab.png");background-size:cover;background-position:center center;background-repeat:no-repeat}

@media(max-width:1250px){
  .wix-contact-grid{grid-template-columns:minmax(520px,1.35fr) 300px 350px}
  .wix-photo{background-position:48% center}
}
@media(max-width:1000px){
  .wix-contact-grid{grid-template-columns:1fr 320px}
  .wix-photo{grid-column:1/-1;min-height:560px;background-position:center 40%}
}
@media(max-width:760px){
  .wix-title-wrap{padding:28px 20px 15px}
  .wix-title-wrap h1{font-size:38px}
  .wix-contact-grid{display:block}
  .wix-left{padding:30px 20px 40px}
  .form-grid{grid-template-columns:1fr}
  .blue-kicker{margin-bottom:25px}
  .intro-copy{font-size:16px;margin-bottom:34px}
  .wix-middle{padding:42px 24px}
  .middle-sub{margin-bottom:55px}
  .contact-method{max-width:360px;margin-bottom:40px}
  .wix-photo{min-height:520px;background-position:center center}
}

/* =========================================================
   CONTACT US - DYNAMIC REQUEST FORM
   ========================================================= */
.form-section-label{
  margin:0 0 20px;
  padding-bottom:9px;
  border-bottom:1px solid #d9e2ec;
  color:#0759d5;
  font-size:12px;
  font-weight:800;
  letter-spacing:1.4px;
}
.dynamic-section{
  display:none;
  margin-top:34px;
  padding-top:4px;
}
.dynamic-section.show{display:block}
.dynamic-section .form-section-label{margin-bottom:23px}
.dynamic-section .full-field{margin-top:25px}
.contact-form .submit-btn{margin-top:32px}
@media(max-width:760px){
  .dynamic-section{margin-top:28px}
  .form-section-label{font-size:11px;letter-spacing:1.1px}
}
