/* Source-faithful GVN native Elementor compatibility layer (v7.5).
   Applied after Elementor generated CSS and the original per-page stylesheets. */
body.gvn-elementor-native .elementor,
body.gvn-elementor-native .elementor :is(.e-con,.elementor-widget,.elementor-heading-title,.elementor-button,.elementor-widget-container),
body.gvn-elementor-native .elementor .elementor-widget-text-editor,
body.gvn-elementor-native .elementor .elementor-widget-text-editor p{
 font-family:'Montserrat',sans-serif;
}
body.gvn-elementor-native .elementor :is(.e-con,.elementor-widget){box-sizing:border-box}
body.gvn-elementor-native .elementor .e-con:is(.hero,.contact-hero,.jobs-hero,.inno-hero,.sponsor-hero):not(:has(.hero-slides)) > .e-con:is(.hero-inner,.contact-hero-inner,.jobs-hero-inner,.inno-hero-inner,.sponsor-hero-inner){z-index:3;position:relative}
body.gvn-elementor-native .elementor .e-con:is(.hero,.contact-hero,.jobs-hero,.inno-hero,.sponsor-hero) > .e-con{width:100%;max-width:1200px;margin-inline:auto}
body.gvn-elementor-native .elementor .elementor-widget-text-editor[class*="-label"] :is(p,.elementor-widget-container){font:inherit;color:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit;margin:0}
body.gvn-elementor-native .elementor .elementor-widget-text-editor.hero-label{font:700 11px/1.65 'Montserrat',sans-serif;color:rgba(255,255,255,.82);letter-spacing:1.4px;text-transform:uppercase}
body.gvn-elementor-native .elementor .e-con:is(.hero,.contact-hero,.jobs-hero,.inno-hero,.sponsor-hero) .elementor-widget-heading .elementor-heading-title{
 font-family:'Montserrat',sans-serif;font-weight:800;color:#fff;
}
body.gvn-elementor-native .elementor .e-con:is(.hero,.contact-hero,.jobs-hero,.inno-hero,.sponsor-hero) .elementor-widget-text-editor p {color:rgba(255,255,255,.92);font-family:'Montserrat',sans-serif}
body.gvn-elementor-native .elementor .e-con.page {width:100%;max-width:1200px;margin-inline:auto;align-items:stretch}
body.gvn-elementor-native .elementor .e-con.page > .elementor-widget{width:100%;max-width:100%;align-self:stretch}
body.gvn-elementor-native .elementor .e-con.page .elementor-widget-text-editor p{line-height:1.65}
/* Transfer a semantic text class to the text inside its native widget wrapper. */
body.gvn-elementor-native .elementor .gvn-elementor-text.lead p {font-size:17px;line-height:1.65;color:#2e4052}
body.gvn-elementor-native .elementor .gvn-elementor-text.gvn-callout p{font-size:inherit;line-height:inherit;color:inherit}
/* Child images and headings still live INSIDE Elementor widget wrappers. */
body.gvn-elementor-native .elementor .gvn-el-img :is(.elementor-widget-container,img){max-width:100%}
body.gvn-elementor-native .elementor .e-con :is(.gvn-card-grid,.gvn-list-grid,.spectrum-grid,.sponsor-grid,.services-grid,.gvn-step-grid,.gvn-abcd-grid,.contact-grid,.jobs-grid,.inno-grid,.news-grid,.gvn-two-col){width:100%;min-width:0}
body.gvn-elementor-native .elementor .e-con.gvn-two-col{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}
body.gvn-elementor-native .elementor .e-con.grid .gvn-el-img{border-radius:8px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.12);max-width:520px}
body.gvn-elementor-native .elementor .e-con.grid .gvn-el-img img{width:100%;height:210px;object-fit:cover}
body.gvn-elementor-native .elementor .e-con.page{max-width:1264px!important;width:100%!important;padding:46px 32px 70px}
body.gvn-elementor-native .elementor .e-con.hero .hero-label p{font-size:11px;line-height:1.65;margin:0;color:rgba(255,255,255,.82);font-weight:700;letter-spacing:1.4px;text-transform:uppercase}

@media(max-width:768px){body.gvn-elementor-native .elementor .e-con.gvn-two-col{grid-template-columns:1fr}}

/* Original DOM display audit: row direction ONLY on source flex elements.
   Others (notably .spectrum-body and .services) retain their original
   vertical/grid layout rather than receiving an invented row direction. */
body.gvn-elementor-native .elementor .e-con.about-icon{flex-direction:row}
body.gvn-elementor-native .elementor .e-con.anchor-menu{flex-direction:row}
body.gvn-elementor-native .elementor .e-con.contact-hero{flex-direction:row}
body.gvn-elementor-native .elementor .e-con.contact-note-actions{flex-direction:row}
body.gvn-elementor-native .elementor .e-con.cta-row{flex-direction:row}
body.gvn-elementor-native .elementor .e-con.event-head{flex-direction:row}
body.gvn-elementor-native .elementor .e-con.gvn-actions{flex-direction:row}
body.gvn-elementor-native .elementor .e-con.hero{flex-direction:row}
body.gvn-elementor-native .elementor .e-con.hero-btns{flex-direction:row}
body.gvn-elementor-native .elementor .e-con.hero-dots{flex-direction:row}
body.gvn-elementor-native .elementor .e-con.hero-slide{flex-direction:row}
body.gvn-elementor-native .elementor .e-con.info-icon{flex-direction:row}
body.gvn-elementor-native .elementor .e-con.inno-hero{flex-direction:row}
body.gvn-elementor-native .elementor .e-con.job-actions{flex-direction:row}
body.gvn-elementor-native .elementor .e-con.jobs-hero{flex-direction:row}
body.gvn-elementor-native .elementor .e-con.mini-links{flex-direction:row}
body.gvn-elementor-native .elementor .e-con.service-icon{flex-direction:row}
body.gvn-elementor-native .elementor .e-con.slide-card{flex-direction:row}
body.gvn-elementor-native .elementor .e-con.slider-track{flex-direction:row}
body.gvn-elementor-native .elementor .e-con.sponsor-hero{flex-direction:row}
