/*
Theme Name: IEH Hello Elementor Child
Template: hello-elementor
Version: 1.1.5
Text Domain: ieh
*/
:root{--ieh-green:#0f5132;--ieh-green-dark:#072617;--ieh-green-soft:#dce9e2;--ieh-mist:#f0f5f3;--ieh-cream:#f8f6ef;--ieh-ink:#212529;--ieh-muted:#5c6862;--ieh-white:#fff;--ieh-radius:10px;--ieh-container:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ieh-ink);background:#fff;font-family:"Source Sans Pro","Segoe UI",Arial,sans-serif;font-size:20px;font-weight:500;line-height:1.5}
a{color:var(--ieh-green);text-decoration:none}a:hover,a:focus{color:var(--ieh-green-dark);text-decoration:underline}a:focus-visible,button:focus-visible{outline:3px solid #d7a600;outline-offset:3px}
h1,h2,h3,h4,h5,h6{font-family:"Spartan","Trebuchet MS",Arial,sans-serif;font-weight:700;line-height:1.2;color:var(--ieh-ink);margin:0 0 .625rem}
h1{font-size:clamp(2.3rem,5vw,4.8rem)}h2{font-size:clamp(1.85rem,3.4vw,3rem)}h3{font-size:clamp(1.45rem,2.5vw,2rem)}h4{font-size:1.35rem}
img{max-width:100%;height:auto}.container,.ieh-container,.s_allow_columns,.elementor-section.elementor-section-boxed>.elementor-container{width:min(100% - 40px,var(--ieh-container));margin-inline:auto}
.ieh-skip{position:absolute;left:-9999px}.ieh-skip:focus{left:16px;top:16px;z-index:9999;background:#fff;padding:10px 16px}
.ieh-header{height:112px;background:var(--ieh-green);color:#fff;display:flex;align-items:center;position:relative;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.ieh-header__inner{width:min(100% - 48px,var(--ieh-container));margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.ieh-menu-toggle{justify-self:start;width:48px;height:48px;border:0!important;outline:0;background:transparent!important;color:rgba(255,255,255,.65)!important;display:grid;place-items:center;cursor:pointer;box-shadow:none!important;padding:6px!important}.ieh-menu-toggle:hover,.ieh-menu-toggle:focus{background:rgba(255,255,255,.08)!important;color:#fff!important}.ieh-menu-toggle span,.ieh-menu-toggle:before,.ieh-menu-toggle:after{content:"";display:block;width:30px;height:2px;background:currentColor;margin:5px 0}
.ieh-brand{display:block;line-height:0}.ieh-brand img{width:auto;max-width:285px;max-height:84px;filter:none}
.ieh-header__actions{justify-self:end;display:flex;align-items:center;gap:20px;font-size:18px}.ieh-language ul{display:flex;list-style:none;margin:0;padding:0;gap:12px}.ieh-language a{color:#fff;opacity:.78}.ieh-language .current-lang a,.ieh-language a[aria-current="page"]{opacity:1;font-weight:700}.ieh-language span{opacity:.45;margin:0 5px}
.ieh-contact{display:inline-flex;align-items:center;min-height:46px;padding:0 22px;border-radius:7px;background:#fff;color:var(--ieh-ink)!important}.ieh-contact:hover{text-decoration:none;transform:translateY(-1px)}
.ieh-drawer{position:fixed;inset:0 auto 0 0;width:min(430px,92vw);background:var(--ieh-green-dark);padding:120px 36px 40px;transform:translateX(-105%);transition:transform .25s ease;z-index:99;box-shadow:12px 0 30px rgba(0,0,0,.2);overflow-y:auto}.ieh-drawer.is-open{transform:none}.ieh-drawer ul{list-style:none;padding:0;margin:0}.ieh-drawer li{border-bottom:1px solid rgba(255,255,255,.13)}.ieh-drawer a{display:block;color:#fff;padding:13px 0;font-family:"Spartan",sans-serif;font-size:1.02rem}.ieh-drawer a:hover{text-decoration:none;color:#dcece4}.ieh-drawer .menu-item-has-children>a{position:relative;padding-right:32px}.ieh-drawer .menu-item-has-children>a:after{content:"+";position:absolute;right:4px;font-size:1.35rem;line-height:1}.ieh-drawer .menu-item-has-children.is-expanded>a:after{content:"−"}.ieh-drawer .sub-menu{display:none;padding:0 0 10px 17px;border-left:2px solid rgba(255,255,255,.18)}.ieh-drawer .is-expanded>.sub-menu{display:block}.ieh-drawer .sub-menu li{border:0}.ieh-drawer .sub-menu a{padding:8px 0;font-family:"Source Sans Pro",sans-serif;font-size:.92rem;font-weight:600;color:#dcece4}
.ieh-main{min-height:55vh}.ieh-entry{padding:56px 0 80px}.home .ieh-entry{padding:0}.ieh-entry__title{width:min(100% - 40px,var(--ieh-container));margin:0 auto 35px}
.ieh-hero{min-height:400px;background-position:100% 18%;background-size:cover}.ieh-intro{padding:36px 0 20px}.ieh-intro p{text-align:justify;margin:0}.ieh-news{padding:20px 0 48px}.ieh-news h2{font-size:1.5rem}.ieh-newsletter{display:flex;gap:0;margin-top:14px}.ieh-newsletter input{flex:1;min-width:0;padding:14px 16px;border:1px solid #ced4da;border-radius:6px 0 0 6px;font:inherit}.ieh-newsletter button,.btn,.elementor-button{border:0;background:var(--ieh-green);color:#fff;padding:14px 24px;border-radius:0 6px 6px 0;font:inherit;font-weight:700}.ieh-newsletter button[disabled]{opacity:.72;cursor:not-allowed}.ieh-note{font-size:.82rem;color:var(--ieh-muted);margin-top:8px}.ieh-cta{position:relative;background:var(--ieh-green-dark);color:#fff;padding:72px 20px 28px;text-align:center;overflow:hidden}.ieh-cta:before{content:"";position:absolute;inset:-45px -5% auto;height:75px;background:var(--ieh-mist);border-radius:0 0 50% 50%}.ieh-cta h2{color:#fff;font-size:clamp(1.4rem,3vw,2rem)}
.ieh-footer{background:var(--ieh-mist);padding:42px 0 0}.ieh-footer__grid{display:grid;grid-template-columns:220px 1fr auto;gap:40px;align-items:center}.ieh-footer__logo img{max-height:105px}.ieh-footer nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 24px}.ieh-social{display:flex;gap:14px}.ieh-social a{font-weight:700}.ieh-copyright{margin-top:34px;padding:18px 0;border-top:1px solid #d9e5df;color:var(--ieh-muted);font-size:.85rem}
.row{display:flex;flex-wrap:wrap;margin-inline:-12px}.row>*{padding-inline:12px}.col-lg-12{width:100%}.col-lg-6{width:50%}.col-lg-4{width:33.333%}.col-lg-3{width:25%}.align-items-center{align-items:center}.text-center{text-align:center}.text-left{text-align:left}.img-fluid{max-width:100%;height:auto}.mx-auto{margin-inline:auto}.d-none{display:none!important}
.pt0{padding-top:0}.pt4{padding-top:4px}.pt8{padding-top:8px}.pt16{padding-top:16px}.pt24{padding-top:24px}.pt32{padding-top:32px}.pt40{padding-top:40px}.pt48{padding-top:48px}.pt96{padding-top:96px}.pt256{padding-top:256px}.pb0{padding-bottom:0}.pb4{padding-bottom:4px}.pb8{padding-bottom:8px}.pb16{padding-bottom:16px}.pb24{padding-bottom:24px}.pb32{padding-bottom:32px}.pb40{padding-bottom:40px}.pb48{padding-bottom:48px}.pb96{padding-bottom:96px}.pb256{padding-bottom:256px}
.o_cc2,.bg-o-color-2{background:var(--ieh-mist)}.o_cc5,.bg-o-color-5{background:var(--ieh-green-dark);color:#fff}.o_cc5 h1,.o_cc5 h2,.o_cc5 h3,.o_cc5 h4,.o_cc5 h5,.o_cc5 h6{color:#fff}.bg-primary{background:var(--ieh-green)!important}.text-white{color:#fff!important}.rounded{border-radius:var(--ieh-radius)}.rounded-circle{border-radius:50%}.s_hr hr{border:0;border-top:1px solid #d6ded9}.s_text_block,.s_title,.s_features_grid,.s_text_image,.s_banner,.s_call_to_action{position:relative}.s_title.oe_img_bg{background-size:cover;background-position:center}.s_features_grid_content{overflow:hidden}.o_we_image_cropped{object-fit:cover}.ieh-archive{padding:60px 0}.ieh-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.ieh-card{border:1px solid #dfe8e3;border-radius:18px;overflow:hidden;background:#fff}.ieh-card__body{padding:22px}.ieh-card h2{font-size:1.25rem}.ieh-archive__header{padding:0 0 32px;border-bottom:3px solid var(--ieh-green);margin-bottom:36px}.ieh-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--ieh-green);font-size:.75rem;font-weight:700}.ieh-card>img,.ieh-card>a>img{width:100%;aspect-ratio:16/9;object-fit:cover}.ieh-card__link{display:inline-block;margin-top:10px;font-weight:700}.navigation.pagination{margin-top:42px}.nav-links{display:flex;gap:8px;justify-content:center}.page-numbers{padding:7px 13px;border:1px solid #d9e5df;border-radius:8px}.page-numbers.current{background:var(--ieh-green);color:#fff}.single .ieh-entry .wp-post-image{width:100%;max-height:560px;object-fit:cover;border-radius:20px;margin:24px 0 36px}.single .ieh-entry p,.single .ieh-entry li{max-width:900px}.ieh-contact-section{padding:45px 0 70px}.ieh-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:900px}.ieh-contact-form label{display:flex;flex-direction:column;gap:7px;font-weight:700}.ieh-contact-form input,.ieh-contact-form textarea{width:100%;padding:13px 15px;border:1px solid #bdcbc4;border-radius:8px;background:#fff;font:inherit}.ieh-contact-form__wide{grid-column:1/-1}.ieh-contact-form button{justify-self:start;border:0;border-radius:999px;background:var(--ieh-green);color:#fff;padding:13px 28px;font:inherit;font-weight:700}.ieh-honeypot{position:absolute!important;left:-9999px!important}.ieh-form-notice{padding:14px 18px;border-radius:8px}.ieh-form-notice--ok{background:#dcefe4;color:#0b4b2c}.ieh-form-notice--error{background:#f8dddd;color:#7a1515}.ieh-error{padding:100px 0;text-align:center}.ieh-error__code{font:700 clamp(5rem,15vw,10rem)/1 "Spartan",sans-serif;color:var(--ieh-mist);margin:0}.ieh-button{display:inline-block;background:var(--ieh-green);color:#fff!important;padding:13px 25px;border-radius:999px;margin-top:15px}
.s_three_columns{background:var(--ieh-mist);padding-block:42px}.s_three_columns .row{align-items:stretch}.card{height:100%;display:flex;flex-direction:column;background:#fff;border:1px solid #dfe8e3!important;border-radius:18px;overflow:hidden;box-shadow:0 12px 28px rgba(15,81,50,.08)}.card-img-top{width:100%;aspect-ratio:16/10;object-fit:cover}.card-body{display:flex;flex:1;flex-direction:column;padding:24px}.card-title{font-size:1.22rem}.card-text{font-size:.95rem}.card-text:last-child{margin-top:auto}.btn{display:inline-block;border-radius:999px!important;margin-top:8px}.ieh-document-link{display:inline-flex;align-items:center;gap:8px;margin:5px 8px 5px 0;padding:8px 14px;border-radius:999px;background:var(--ieh-green);color:#fff!important;font-size:.82rem;font-weight:700}.ieh-document-link:before{content:"↓"}.ieh-document-link:hover{background:var(--ieh-green-dark);text-decoration:none}.s_features_grid .s_features_grid_content{padding:4px 0 28px}.s_features_grid .s_features_grid_icon{margin:0 28px 18px 0;max-width:260px;max-height:190px;object-fit:cover}.s_features_grid h4{color:var(--ieh-green);margin-top:0}
@media(max-width:800px){body{font-size:18px}.ieh-header{height:92px}.ieh-header__inner{width:min(100% - 28px,var(--ieh-container));grid-template-columns:auto 1fr auto}.ieh-brand{justify-self:center}.ieh-brand img{max-width:175px;max-height:58px}.ieh-header__actions{gap:10px}.ieh-language{display:none}.ieh-contact{padding:0 14px;min-height:40px;font-size:15px}.ieh-hero{min-height:310px;background-position:center}.ieh-footer__grid{grid-template-columns:1fr;text-align:center}.ieh-footer nav ul,.ieh-social{justify-content:center}.row{display:block;margin-inline:0}.row>*{width:100%;padding-inline:0}.col-lg-6,.col-lg-4,.col-lg-3{width:100%}.ieh-card-grid{grid-template-columns:1fr}.ieh-contact-form{grid-template-columns:1fr}.ieh-contact-form__wide{grid-column:auto}.pt256{padding-top:150px}.pb256{padding-bottom:150px}.s_three_columns .col-lg-4{margin-bottom:22px}.s_features_grid .s_features_grid_icon{float:none!important;width:100%!important;max-width:none;margin:0 0 18px}}
@media(max-width:480px){.ieh-contact{font-size:0;width:42px;padding:0}.ieh-contact:after{content:"✉";font-size:18px;margin:auto}.ieh-header__inner{gap:8px}.ieh-menu-toggle{width:40px}.ieh-brand img{max-width:145px}}
.ieh-contact-intro{padding:8px 0 20px}.ieh-contact-intro h2{max-width:820px}.ieh-contact-intro a{font-weight:700}

/* Sensei LMS: integración visual con la arquitectura IEH. */
.single-course .ieh-entry,.single-lesson .ieh-entry,.single-quiz .ieh-entry{width:min(100% - 40px,var(--ieh-container));margin-inline:auto;padding-top:52px}
.single-course .ieh-entry__title,.single-lesson .ieh-entry__title,.single-quiz .ieh-entry__title{width:100%;margin-bottom:28px}
.single-course .ieh-entry>*,.single-lesson .ieh-entry>*,.single-quiz .ieh-entry>*{max-width:100%}
.single-course .course-meta.course-enrolment,.single-course .sensei-message{border:1px solid #cfe0d7;border-radius:16px;background:var(--ieh-mist);padding:18px 22px;margin:0 0 28px}
.single-course .course-meta.course-enrolment .sensei-message{border:0;padding:0;margin:0;background:transparent}
.single-course .course-meta a,.single-course .course-enrolment a,.sensei a.button,.sensei button,.sensei input[type="submit"]{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--ieh-green);color:#fff!important;padding:11px 22px;font-weight:700;text-decoration:none}
.single-course .course-meta a:hover,.single-course .course-enrolment a:hover,.sensei a.button:hover,.sensei button:hover,.sensei input[type="submit"]:hover{background:var(--ieh-green-dark);text-decoration:none}
.single-course .course-enrolment .register{display:inline-block!important;background:transparent!important;padding:0!important;margin:12px 0 0!important;border:0!important}
.single-course article.module{margin:24px 0;border:1px solid #d9e5df;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 10px 26px rgba(15,81,50,.07)}
.single-course article.module>.entry{padding:22px 26px;background:var(--ieh-mist)}
.single-course article.module>.entry h2{font-size:1.35rem;margin:0}
.single-course article.module .module-lessons{padding:4px 26px 18px}
.single-course article.module .module-lessons h3{font-size:.88rem;color:var(--ieh-muted);text-transform:uppercase;letter-spacing:.08em;margin:14px 0 8px}
.single-course article.module ul{list-style:none;padding:0;margin:0}
.single-course article.module li{max-width:none;border-top:1px solid #e4ece8;padding:13px 0}
.single-course article.module li:first-child{border-top:0}
.single-course .course-lessons{margin-top:32px}
.single-lesson .ieh-course-resources{margin:38px 0;padding:24px 28px;border-radius:16px;background:var(--ieh-mist);border-left:5px solid var(--ieh-green)}
.single-lesson .ieh-course-resources h2{font-size:1.45rem}.single-lesson .ieh-course-resources ul{margin-bottom:0}.single-lesson .ieh-course-resources li{max-width:none;margin:8px 0}
.single-lesson .ieh-course-note{margin:28px 0;padding:18px 22px;border-radius:12px;background:#fff8df;border-left:5px solid #d7a600}
.single-lesson iframe{width:100%;max-width:900px;aspect-ratio:16/9;height:auto;border:0;border-radius:16px}
.single-quiz .quiz,.single-lesson .quiz{max-width:900px}.single-quiz .question,.single-lesson .question{padding:22px;border:1px solid #d9e5df;border-radius:16px;margin:18px 0;background:#fff}
.page-id-601 .s_three_columns .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-inline:0}
.page-id-601 .s_three_columns .row>.col-lg-4{width:auto;padding-inline:0}
@media(max-width:800px){.single-course .ieh-entry,.single-lesson .ieh-entry,.single-quiz .ieh-entry{width:min(100% - 28px,var(--ieh-container));padding-top:34px}.single-course article.module>.entry,.single-course article.module .module-lessons{padding-inline:18px}}
@media(max-width:800px){.page-id-601 .s_three_columns .row{grid-template-columns:1fr}}

/* Adaptación funcional de utilidades y snippets Odoo a WordPress. */
.d-flex{display:flex!important}.d-block{display:block!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.flex-grow-1{flex-grow:1!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.justify-content-start{justify-content:flex-start!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.position-relative{position:relative!important}.w-100{width:100%!important}.h-100{height:100%!important}.float-left{float:left!important}.float-right{float:right!important}.shadow,.shadow-sm{box-shadow:0 12px 28px rgba(15,81,50,.10)!important}
.s_text_image img,.s_image_text img{display:block}.s_picture img{display:block;margin-inline:auto}.media_iframe_video{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:16px;background:#e7eeea}.media_iframe_video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.css_editable_mode_display,.media_iframe_video_size{display:none}.s_image_gallery .row,.s_masonry_block .row{row-gap:24px}.s_image_gallery img{display:block;width:100%;height:auto}.s_quotes_carousel blockquote,.s_blockquote blockquote,blockquote{margin:24px 0;padding:18px 24px;border-left:5px solid var(--ieh-green);background:var(--ieh-mist);font-style:italic}.table,table{width:100%;border-collapse:collapse}.table th,.table td,table th,table td{padding:10px 12px;border-bottom:1px solid #d9e5df;text-align:left}.alert{padding:16px 20px;border-radius:12px;background:var(--ieh-mist)}.badge{display:inline-block;padding:5px 10px;border-radius:999px;background:#dce8e2;font-size:.75rem}.o_animated_text{display:inline!important}.o_anim_flash{font-weight:700;color:var(--ieh-green)}
@media(max-width:800px){.d-flex:not(.ieh-header__actions):not(.ieh-social){flex-wrap:wrap}.float-left,.float-right{float:none!important}}
.ieh-video-hero{position:relative;min-height:430px;overflow:hidden;background:var(--ieh-green-dark);display:grid;place-items:center}.ieh-video-hero iframe{position:absolute;inset:50% auto auto 50%;width:120%;height:120%;min-width:100%;min-height:100%;transform:translate(-50%,-50%);border:0;pointer-events:none}.ieh-video-hero:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.42)}.ieh-video-hero__content{position:relative;z-index:1;width:min(100% - 40px,var(--ieh-container));text-align:center}.ieh-video-hero h1{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4)}
@media(max-width:800px){.ieh-video-hero{min-height:300px}.ieh-video-hero iframe{width:180%;height:180%}}

/* 2026 architecture pass: reusable editorial system for hubs and projects. */
.ieh-breadcrumbs{width:min(100% - 40px,var(--ieh-container));margin:0 auto;padding:24px 0 0;color:var(--ieh-muted);font-size:.82rem}.ieh-breadcrumbs a{font-weight:700}.ieh-breadcrumbs span{margin:0 7px;color:#98a39d}
.ieh-section-heading{margin-bottom:18px}.ieh-section-heading .elementor-heading-title{max-width:780px}.ieh-kicker{color:var(--ieh-green);font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.ieh-lead{font-size:clamp(1.08rem,1.8vw,1.3rem);line-height:1.55;color:#35423b}.ieh-muted{color:var(--ieh-muted)}
.ieh-elementor-hub,.ieh-elementor-hub>.e-con-inner,.ieh-elementor-hub .elementor-widget-html,.ieh-elementor-hub .elementor-widget-html>.elementor-widget-container{width:100%;max-width:none;padding:0!important}.ieh-women-hub{overflow:hidden}.ieh-women-hero{background:linear-gradient(110deg,var(--ieh-mist) 0%,var(--ieh-mist) 62%,#e5eee9 62%,#e5eee9 100%);padding:72px max(20px,calc((100vw - var(--ieh-container))/2)) 68px}.ieh-women-hero>.e-con-inner{gap:56px}.ieh-women-hero__grid{width:min(100%,var(--ieh-container));margin:auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:56px;align-items:center}.ieh-women-hero h1{font-size:clamp(2.65rem,5vw,4.7rem);max-width:740px}.ieh-women-hero figure{margin:0}.ieh-women-hero figure img,.ieh-women-hero .elementor-widget-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.ieh-women-hero__copy{justify-content:center}.ieh-women-hero__copy .elementor-widget-text-editor{max-width:690px}.ieh-women-hero__facts{display:flex;gap:10px 24px;flex-wrap:wrap;color:var(--ieh-muted);font-size:.9rem;font-weight:650}
.ieh-hub-section{padding:72px max(20px,calc((100vw - var(--ieh-container))/2))}.ieh-hub-section--tint{background:var(--ieh-mist)}.ieh-hub-section--dark{background:var(--ieh-green-dark);color:#fff}.ieh-hub-section--dark h2,.ieh-hub-section--dark h3,.ieh-hub-section--dark p,.ieh-hub-section--dark a{color:#fff}.ieh-project-grid,.ieh-project-grid>.e-con-inner{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.ieh-project-card{min-width:0;background:#fff;border:1px solid #d9e5df;border-radius:9px;overflow:hidden}.ieh-project-card:not(.e-con){height:100%;display:grid!important;grid-template-columns:minmax(170px,38%) 1fr;gap:0!important}.ieh-project-card>.e-con-inner{height:100%;display:grid!important;grid-template-columns:minmax(170px,38%) 1fr;gap:0!important}.ieh-project-card>img{width:100%;height:100%;min-height:320px;object-fit:cover}.ieh-project-card__image,.ieh-project-card__image>.elementor-widget-container{height:100%}.ieh-project-card__image img{width:100%;height:100%!important;min-height:320px;object-fit:cover}.ieh-project-card__copy{padding:28px 28px 26px;justify-content:flex-start;display:flex;flex-direction:column}.ieh-project-card__copy h3{font-size:1.45rem}.ieh-project-card__year{font-size:.75rem;color:var(--ieh-green);font-weight:800;letter-spacing:.1em;text-transform:uppercase}.ieh-project-card .elementor-button,.ieh-women-hub .elementor-button{align-self:flex-start;border-radius:6px!important;padding:12px 18px!important}.ieh-project-card .elementor-widget-button{margin-top:auto}.ieh-button{display:inline-block;background:var(--ieh-green);color:#fff!important;padding:12px 18px;border-radius:6px;margin-top:12px;font-weight:700}.ieh-button:hover{background:var(--ieh-green-dark);text-decoration:none}.ieh-button--light{background:#fff;color:var(--ieh-green-dark)!important}
.ieh-resource-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px;margin-top:8px}.ieh-resource-group{padding:22px 0;border-top:1px solid #cad8d1}.ieh-resource-group h3{font-size:1.25rem}.ieh-resource-group ul{list-style:none;margin:12px 0 0;padding:0}.ieh-resource-group li{margin:8px 0}.ieh-resource-group a{display:inline-flex;gap:8px;font-weight:700}.ieh-resource-group a:before{content:"↓";color:var(--ieh-green)}.ieh-language-note{display:block;color:var(--ieh-muted);font-size:.82rem;font-weight:500;margin-top:2px}
.ieh-news-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.ieh-news-item{border-top:3px solid var(--ieh-green);padding-top:18px}.ieh-news-item time{display:block;color:var(--ieh-muted);font-size:.78rem;font-weight:700;margin-bottom:8px}.ieh-news-item h3{font-size:1.2rem}.ieh-news-item a{font-weight:700}
.single-proyecto .ieh-entry{padding-top:0}.single-proyecto .ieh-entry>.ieh-container{width:100%;max-width:none}.single-proyecto .ieh-entry>.ieh-container>h1{display:none}.ieh-project-page{font-size:1rem}.ieh-project-page p{max-width:780px}.ieh-project-crumbs{width:min(100% - 40px,var(--ieh-container));margin:0 auto;padding:24px 0}.ieh-project-hero{background:var(--ieh-mist);padding:52px max(20px,calc((100vw - var(--ieh-container))/2))}.ieh-project-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:54px;align-items:center}.ieh-project-hero__image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.ieh-project-hero h1{font-size:clamp(2.35rem,4.5vw,4rem)}.ieh-project-meta{display:flex;gap:10px 24px;flex-wrap:wrap;margin:20px 0 0;color:var(--ieh-muted);font-size:.88rem;font-weight:700}.ieh-project-body{width:min(100% - 40px,var(--ieh-container));margin:0 auto;padding:68px 0}.ieh-project-body__grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);gap:64px}.ieh-project-body h2{margin-top:38px;font-size:clamp(1.55rem,2.6vw,2.2rem)}.ieh-project-body h2:first-child{margin-top:0}.ieh-project-body h3{margin-top:28px;font-size:1.3rem}.ieh-project-body ul{padding-left:1.15em}.ieh-project-body li{margin:8px 0}.ieh-project-aside{align-self:start;position:sticky;top:28px;padding:24px;border-top:4px solid var(--ieh-green);background:var(--ieh-mist)}.ieh-project-aside h2{font-size:1.22rem}.ieh-project-aside img{display:block;max-height:92px;width:auto;margin:14px auto 0}.ieh-project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0}.ieh-project-gallery img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:8px}.ieh-project-downloads{margin:30px 0;padding:24px 0;border-top:1px solid #cad8d1;border-bottom:1px solid #cad8d1}.ieh-project-downloads a{display:block;margin:10px 0;font-weight:700}.ieh-project-downloads a:before{content:"↓";display:inline-block;width:24px;color:var(--ieh-green)}.ieh-project-nav{display:flex;justify-content:space-between;gap:20px;margin-top:48px;padding-top:24px;border-top:1px solid #cad8d1}.ieh-project-nav a{font-weight:700}.ieh-status-note{padding:16px 18px;background:#fff8df;border-left:4px solid #d7a600;margin:24px 0}
.ieh-project-imported .container,.ieh-project-imported .s_allow_columns{width:100%;max-width:none;margin-inline:0}.ieh-project-imported section{padding-top:20px!important;padding-bottom:20px!important}.ieh-project-imported section:first-child{padding-top:0!important}.ieh-project-imported .row{margin-inline:-10px}.ieh-project-imported .row>*{padding-inline:10px}.ieh-project-imported h1{font-size:clamp(1.55rem,2.6vw,2.2rem);text-align:left!important}.ieh-project-imported h2{font-size:clamp(1.4rem,2.3vw,1.85rem)}.ieh-project-imported h3,.ieh-project-imported h4{font-size:1.25rem}.ieh-project-imported img{display:block;max-height:440px;width:auto!important;max-width:100%;object-fit:contain;transform:none!important;margin:0 auto}.ieh-project-imported .s_text_image img,.ieh-project-imported .s_image_text img{width:100%!important;object-fit:cover}.ieh-project-imported .btn{border-radius:6px!important;font-size:.95rem;padding:12px 18px}.ieh-project-imported .s_text_highlight{background:var(--ieh-mist);padding:14px 18px;border-left:4px solid var(--ieh-green)}.ieh-project-imported .s_text_highlight h3,.ieh-project-imported .s_text_highlight h4{margin:0}.ieh-project-imported .ieh-document-link{border-radius:6px;margin:6px 0}.ieh-project-imported [style*="font-size: 62px"]{font-size:inherit!important}.ieh-project-imported [style*="font-size: 36px"]{font-size:inherit!important}
.ieh-project-page--general .ieh-project-hero__image img{object-fit:contain;background:#fff;padding:20px;border:1px solid #dce9e2}.ieh-project-page--general .ieh-project-imported>div>section:first-child{margin-top:0}.ieh-project-page--general .ieh-project-imported .o_record_cover_container{min-height:0!important}.ieh-project-page--general .ieh-project-imported .s_hr{padding-block:8px!important}.ieh-project-page--general .ieh-project-aside a{font-weight:750}.ieh-project-page--general .ieh-project-aside p{margin:12px 0}.ieh-project-page--general .ieh-project-aside p+p{padding-top:12px;border-top:1px solid #cad8d1}

@media(max-width:1020px){.ieh-project-grid,.ieh-project-grid>.e-con-inner{grid-template-columns:1fr}.ieh-news-list{grid-template-columns:repeat(2,minmax(0,1fr))}.ieh-women-hero>.e-con-inner{gap:32px}.ieh-women-hero__grid{gap:32px}.ieh-project-body__grid{gap:36px}}
@media(max-width:800px){.ieh-women-hero,.ieh-hub-section{padding:48px 20px}.ieh-women-hero>.e-con-inner{flex-direction:column-reverse!important}.ieh-women-hero__grid{grid-template-columns:1fr}.ieh-women-hero__copy{order:2}.ieh-women-hero figure{order:1}.ieh-women-hero h1{font-size:clamp(2.35rem,11vw,3.3rem)}.ieh-project-card:not(.e-con),.ieh-project-card>.e-con-inner{grid-template-columns:1fr}.ieh-project-card>img,.ieh-project-card__image img{min-height:0;aspect-ratio:16/10}.ieh-resource-list,.ieh-news-list{grid-template-columns:1fr}.ieh-project-hero{padding:40px 20px}.ieh-project-hero__grid,.ieh-project-body__grid{grid-template-columns:1fr;gap:28px}.ieh-project-body{padding:48px 0}.ieh-project-aside{position:static}.ieh-project-gallery{grid-template-columns:1fr}.ieh-project-nav{flex-direction:column}.ieh-brand img{max-width:205px;max-height:66px}}

/* 2026 editorial pass: native WordPress/Elementor pages and real hub hierarchy. */
.ieh-editorial-page,.ieh-architecture-hub{overflow:hidden;font-size:1rem}.ieh-editorial-page p,.ieh-architecture-hub p{max-width:780px}.ieh-editorial-hero,.ieh-architecture-hero{padding:72px max(20px,calc((100vw - var(--ieh-container))/2));background:var(--ieh-mist)}
.ieh-editorial-hero__grid{width:min(100%,var(--ieh-container));margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);gap:56px;align-items:center}.ieh-editorial-hero h1,.ieh-architecture-hero h1{font-size:clamp(2.55rem,5vw,4.6rem)}.ieh-editorial-hero figure{margin:0}.ieh-editorial-hero img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.ieh-editorial-hero--plain{padding-bottom:56px}.ieh-editorial-hero--plain .ieh-lead{max-width:850px}
.ieh-editorial-section{padding:68px max(20px,calc((100vw - var(--ieh-container))/2))}.ieh-editorial-section--tint{background:var(--ieh-mist)}.ieh-editorial-section--dark{background:var(--ieh-green-dark);color:#fff}.ieh-editorial-section--dark h2,.ieh-editorial-section--dark h3,.ieh-editorial-section--dark p,.ieh-editorial-section--dark a{color:#fff}.ieh-editorial-copy{width:min(100%,860px);margin-inline:auto}.ieh-editorial-copy p{max-width:none}.ieh-editorial-split{width:min(100%,var(--ieh-container));margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px;align-items:start}.ieh-editorial-split figure{margin:0}.ieh-editorial-split img{display:block;width:100%;max-height:560px;object-fit:cover;border-radius:8px}.ieh-editorial-list{margin:18px 0 0;padding:0;list-style:none}.ieh-editorial-list li{position:relative;padding:10px 0 10px 30px;border-bottom:1px solid #d8e2dd}.ieh-editorial-list li:before{content:"";position:absolute;left:0;top:19px;width:10px;height:10px;border-radius:50%;background:var(--ieh-green)}.ieh-editorial-section--dark .ieh-editorial-list li{border-color:rgba(255,255,255,.2)}.ieh-editorial-section--dark .ieh-editorial-list li:before{background:#b9d7c7}
.ieh-benefit-grid,.ieh-service-grid,.ieh-hub-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}.ieh-benefit-card,.ieh-service-card,.ieh-hub-card{min-width:0;background:#fff;border:1px solid #d6e2dc;border-top:4px solid var(--ieh-green);border-radius:8px;padding:26px}.ieh-benefit-card h3,.ieh-service-card h3,.ieh-hub-card h2,.ieh-hub-card h3{font-size:1.3rem}.ieh-benefit-card p,.ieh-service-card p,.ieh-hub-card p{font-size:.94rem;color:var(--ieh-muted)}.ieh-service-card img{width:58px;height:58px;object-fit:contain;margin-bottom:16px}.ieh-service-card--image{padding:0;overflow:hidden}.ieh-service-card--image>img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;margin:0}.ieh-service-card--image>div{padding:24px}.ieh-editorial-callout{margin:28px 0;padding:22px 24px;border-left:5px solid var(--ieh-green);background:var(--ieh-mist);font-size:1.08rem}.ieh-editorial-cta{padding:60px max(20px,calc((100vw - var(--ieh-container))/2));background:var(--ieh-green);color:#fff}.ieh-editorial-cta__inner{width:min(100%,var(--ieh-container));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:36px}.ieh-editorial-cta h2,.ieh-editorial-cta p{color:#fff}.ieh-editorial-cta p{margin-bottom:0}
.ieh-architecture-hero__inner{width:min(100%,var(--ieh-container));margin:auto}.ieh-architecture-hero .ieh-lead{max-width:850px}.ieh-architecture-section{padding:68px max(20px,calc((100vw - var(--ieh-container))/2))}.ieh-hub-card-grid{width:min(100%,var(--ieh-container));margin:28px auto 0}.ieh-hub-card{padding:0;overflow:hidden;display:flex;flex-direction:column}.ieh-hub-card>img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.ieh-hub-card__body{padding:24px;display:flex;flex:1;flex-direction:column}.ieh-hub-card__body .ieh-button{align-self:flex-start;margin-top:auto}.ieh-hub-card--text{padding:28px}.ieh-hub-card__meta{display:block;color:var(--ieh-green);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
@media(max-width:1020px){.ieh-benefit-grid,.ieh-service-grid,.ieh-hub-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ieh-editorial-hero__grid{gap:34px}}
@media(max-width:800px){.ieh-editorial-hero,.ieh-architecture-hero,.ieh-editorial-section,.ieh-architecture-section{padding:48px 20px}.ieh-editorial-hero__grid,.ieh-editorial-split{grid-template-columns:1fr;gap:30px}.ieh-editorial-hero__grid>figure{order:-1}.ieh-benefit-grid,.ieh-service-grid,.ieh-hub-card-grid{grid-template-columns:1fr}.ieh-editorial-cta{padding:44px 20px}.ieh-editorial-cta__inner{align-items:flex-start;flex-direction:column}.ieh-editorial-hero h1,.ieh-architecture-hero h1{font-size:clamp(2.25rem,11vw,3.2rem)}}

/* Public news: Odoo chrome removed, article content retained. */
.ieh-article-page{font-size:1rem}.ieh-article-crumbs{padding-bottom:24px}.ieh-article-hero{padding:52px max(20px,calc((100vw - var(--ieh-container))/2));background:var(--ieh-mist)}.ieh-article-hero__grid{width:min(100%,var(--ieh-container));margin:auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:52px;align-items:center}.ieh-article-hero h1{font-size:clamp(2.25rem,4.4vw,3.9rem)}.ieh-article-hero figure{margin:0}.ieh-article-hero img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:8px}.ieh-article-date{color:var(--ieh-muted);font-size:.86rem;font-weight:700}.ieh-article-body{width:min(100% - 40px,860px);margin:auto;padding:64px 0 76px}.ieh-article-content>p,.ieh-article-content>ul,.ieh-article-content>ol{max-width:760px}.ieh-article-content p{margin:0 0 1.1em}.ieh-article-content section{padding:20px 0!important}.ieh-article-content .container,.ieh-article-content .s_allow_columns{width:100%;max-width:none;margin:0}.ieh-article-content .row{margin-inline:-10px;align-items:center}.ieh-article-content .row>*{padding-inline:10px}.ieh-article-content h2{font-size:clamp(1.55rem,2.6vw,2.2rem);margin-top:38px}.ieh-article-content h3{font-size:1.35rem}.ieh-article-content h4{font-size:1.15rem;line-height:1.45}.ieh-article-content img{display:block;max-width:100%;max-height:520px;width:auto!important;height:auto!important;object-fit:contain;margin:24px auto}.ieh-article-content .s_text_highlight{background:var(--ieh-mist)!important;padding:20px;border-left:4px solid var(--ieh-green);text-align:left!important}.ieh-article-content .s_text_highlight p:last-child{margin-bottom:0}.ieh-article-content iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:8px}.ieh-article-back{margin-top:44px;padding-top:24px;border-top:1px solid #d6e2dc;font-weight:700}
@media(max-width:800px){.ieh-article-hero{padding:40px 20px}.ieh-article-hero__grid{grid-template-columns:1fr;gap:28px}.ieh-article-hero figure{order:-1}.ieh-article-body{width:min(100% - 36px,860px);padding:46px 0 58px}.ieh-article-content .row{display:block;margin-inline:0}.ieh-article-content .row>*{width:100%;padding-inline:0}}






/* BEGIN IEH NATIVE ELEMENTOR COMPAT 20260820 */
/*
 * Compatibility layer for the IEH HTML-widget -> native Elementor migration.
 * Append only after the representative ES pilot passes visual regression.
 * All selectors are additive and leave the current HTML implementation intact.
 */
.ieh-elementor-native,
.ieh-elementor-native > .e-con-inner {
    width: 100%;
    max-width: none;
    padding: 0 !important;
    gap: 0;
}

/* The legacy HTML widget inherited Elementor's neutral page typography.
 * Native Heading/Text Editor widgets otherwise opt into the green Spartan /
 * Source Sans global widget styles, which changes line wrapping and rhythm. */
.ieh-elementor-native .elementor-widget-text-editor {
    font-family: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
}

.ieh-elementor-native .elementor-widget-heading .elementor-heading-title {
    margin: 8px 0 16px !important;
    color: inherit !important;
    font-family: inherit !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

/* HTML block margins collapse; separate flex widgets do not. Recreate the
 * approved vertical rhythm without hiding or duplicating any editable widget. */
.ieh-elementor-native .ieh-editorial-hero__grid.e-con > .e-con:not(.ieh-figure) > .elementor-widget-heading .elementor-heading-title {
    margin-top: 0 !important;
}

.ieh-elementor-native .ieh-editorial-hero__grid.e-con .ieh-editorial-callout {
    margin-top: calc(28px - .9em) !important;
}

.ieh-elementor-native .ieh-editorial-copy.e-con {
    margin-top: 8px !important;
}

.ieh-elementor-native .ieh-editorial-copy.e-con > .elementor-widget-heading:first-child .elementor-heading-title {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.ieh-elementor-native .ieh-women-hero__copy.e-con > .elementor-widget-text-editor + .elementor-widget-heading .elementor-heading-title,
.ieh-elementor-native .ieh-section-heading.e-con > .elementor-widget-text-editor + .elementor-widget-heading .elementor-heading-title {
    margin-top: 0 !important;
}

.ieh-elementor-native .ieh-section-heading.e-con > .elementor-widget-text-editor:last-child > p:last-child,
.ieh-elementor-native .ieh-section-heading.e-con > .elementor-widget-text-editor:last-child > .elementor-widget-container > p:last-child {
    margin-bottom: 0 !important;
}

/* Elementor's frontend stylesheet loads after the child theme and gives
 * every .e-con 10px padding, width:100%, zero margins and visible overflow.
 * Re-state the source editorial contract with higher specificity. */
.ieh-elementor-native .ieh-editorial-page.e-con,
.ieh-elementor-native .ieh-architecture-hub.e-con,
.ieh-elementor-native .ieh-women-hub.e-con {
    padding: 0 !important;
    overflow: hidden !important;
}

.ieh-elementor-native .ieh-editorial-hero.e-con {
    padding: 72px max(20px, calc((100vw - var(--ieh-container)) / 2)) !important;
}

.ieh-elementor-native .ieh-editorial-hero--plain.e-con {
    padding-bottom: 56px !important;
}

.ieh-elementor-native .ieh-editorial-hero__grid.e-con {
    width: min(100%, var(--ieh-container)) !important;
    margin-inline: auto !important;
}

.ieh-elementor-native .ieh-editorial-section.e-con {
    padding: 68px max(20px, calc((100vw - var(--ieh-container)) / 2)) !important;
}

.ieh-elementor-native .ieh-editorial-copy.e-con {
    width: min(100%, 860px) !important;
    margin-inline: auto !important;
}

.ieh-elementor-native .ieh-editorial-split.e-con {
    width: min(100%, var(--ieh-container)) !important;
    margin-inline: auto !important;
}

.ieh-elementor-native .ieh-architecture-hero.e-con {
    padding: 72px max(20px, calc((100vw - var(--ieh-container)) / 2)) !important;
}

.ieh-elementor-native .ieh-architecture-hero__inner.e-con {
    width: min(100%, var(--ieh-container)) !important;
    margin-inline: auto !important;
}

.ieh-elementor-native .ieh-architecture-section.e-con {
    padding: 68px max(20px, calc((100vw - var(--ieh-container)) / 2)) !important;
}

.ieh-elementor-native .ieh-editorial-cta.e-con {
    padding: 60px max(20px, calc((100vw - var(--ieh-container)) / 2)) !important;
}

.ieh-elementor-native .ieh-editorial-cta__inner.e-con {
    width: min(100%, var(--ieh-container)) !important;
    margin-inline: auto !important;
}

.ieh-elementor-native .ieh-women-hero.e-con {
    padding: 72px max(20px, calc((100vw - var(--ieh-container)) / 2)) 68px !important;
}

.ieh-elementor-native .ieh-women-hero__grid.e-con {
    width: min(100%, var(--ieh-container)) !important;
    margin-inline: auto !important;
}

.ieh-elementor-native .ieh-hub-section.e-con {
    padding: 72px max(20px, calc((100vw - var(--ieh-container)) / 2)) !important;
}

.ieh-elementor-native .ieh-container.e-con {
    width: min(calc(100% - 40px), var(--ieh-container)) !important;
    margin-inline: auto !important;
}

.ieh-elementor-native .ieh-breadcrumbs.e-con {
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: center !important;
    gap: 0 !important;
    width: min(calc(100% - 40px), var(--ieh-container)) !important;
    margin: 0 auto !important;
    padding: 24px 0 0 !important;
}

.ieh-elementor-native .ieh-breadcrumbs.e-con > .elementor-widget,
.ieh-elementor-native .ieh-women-hero__facts.e-con > .elementor-widget {
    width: auto !important;
    max-width: 100%;
    flex: 0 0 auto;
}

.ieh-elementor-native .ieh-section-heading.e-con {
    margin-bottom: 18px !important;
}

.ieh-elementor-native .ieh-benefit-grid.e-con,
.ieh-elementor-native .ieh-service-grid.e-con {
    margin-top: 28px !important;
}

.ieh-elementor-native .ieh-hub-card-grid.e-con {
    width: min(100%, var(--ieh-container)) !important;
    margin: 28px auto 0 !important;
}

.ieh-elementor-native .ieh-resource-list.e-con {
    margin-top: 8px !important;
}

.ieh-elementor-native .ieh-section-heading.e-con + .ieh-resource-list.e-con {
    margin-top: 0 !important;
}

.ieh-elementor-native .ieh-benefit-card.e-con,
.ieh-elementor-native .ieh-service-card.e-con {
    padding: 26px !important;
    border-radius: 8px !important;
}

.ieh-elementor-native .ieh-project-card.e-con {
    padding: 0 !important;
    border-radius: 9px !important;
    overflow: hidden !important;
}

.ieh-elementor-native .ieh-project-card__copy.e-con {
    padding: 28px 28px 26px !important;
}

.ieh-elementor-native .ieh-resource-group.e-con {
    padding: 22px 0 !important;
}

.ieh-elementor-native .ieh-resource-group.e-con > .elementor-widget-heading + .elementor-widget-text-editor > ul:first-child,
.ieh-elementor-native .ieh-resource-group.e-con > .elementor-widget-heading + .elementor-widget-text-editor > .elementor-widget-container > ul:first-child {
    margin-top: 0 !important;
}

.ieh-elementor-native .ieh-news-item.e-con {
    padding-top: 18px !important;
}

.ieh-elementor-native .ieh-hub-card.e-con {
    padding: 0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.ieh-elementor-native .ieh-hub-card--text.e-con {
    padding: 28px !important;
}

.ieh-elementor-native .ieh-hub-card__body.e-con {
    padding: 24px !important;
}

.ieh-elementor-button-row {
    display: flex !important;
    flex-flow: row wrap !important;
    gap: 10px !important;
    margin-bottom: .9em !important;
}

.ieh-elementor-button-row > .ieh-elementor-button {
    width: auto !important;
    flex: 0 0 auto;
}

.ieh-editorial-hero__grid.e-con,
.ieh-editorial-split.e-con,
.ieh-women-hero__grid.e-con,
.ieh-project-grid.e-con,
.ieh-resource-list.e-con,
.ieh-news-list.e-con,
.ieh-benefit-grid.e-con,
.ieh-service-grid.e-con,
.ieh-hub-card-grid.e-con {
    display: grid !important;
}

/* Native containers are grid items here; allow intrinsic images/text to
 * shrink inside their assigned track instead of widening the whole grid. */
.ieh-editorial-hero__grid.e-con > .e-con,
.ieh-editorial-split.e-con > .e-con,
.ieh-women-hero__grid.e-con > .e-con,
.ieh-project-grid.e-con > .e-con,
.ieh-resource-list.e-con > .e-con,
.ieh-news-list.e-con > .e-con,
.ieh-benefit-grid.e-con > .e-con,
.ieh-service-grid.e-con > .e-con,
.ieh-hub-card-grid.e-con > .e-con {
    min-width: 0;
}

.ieh-editorial-cta__inner.e-con,
.ieh-breadcrumbs.e-con,
.ieh-women-hero__facts.e-con,
.ieh-project-card__copy.e-con,
.ieh-hub-card.e-con,
.ieh-hub-card__body.e-con {
    display: flex !important;
}

/* Full-width Elementor containers do not always emit an .e-con-inner node. */
.ieh-project-card.e-con {
    display: grid !important;
    grid-template-columns: minmax(170px, 38%) 1fr;
    gap: 0 !important;
    height: 100%;
}

.ieh-elementor-button .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 12px;
    padding: 12px 18px !important;
    border: 0;
    border-radius: 6px !important;
    background: var(--ieh-green);
    color: #fff !important;
    font-size: inherit !important;
    font-weight: 700;
    line-height: inherit !important;
}

.ieh-elementor-button .elementor-button:hover,
.ieh-elementor-button .elementor-button:focus {
    background: var(--ieh-green-dark);
    color: #fff !important;
    text-decoration: none;
}

.ieh-elementor-button--light .elementor-button {
    background: #fff;
    color: var(--ieh-green-dark) !important;
}

.ieh-hub-card__body > .ieh-elementor-button {
    align-self: flex-start;
    margin-top: auto;
}

.ieh-figure {
    margin: 0;
}

.ieh-editorial-hero .ieh-figure img,
.ieh-editorial-split .ieh-figure img {
    display: block;
    width: 100%;
    object-fit: cover;
    border-radius: 8px;
}

@media (max-width: 1020px) {
    .ieh-news-list.e-con {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 800px) {
    .ieh-elementor-native .ieh-editorial-hero.e-con,
    .ieh-elementor-native .ieh-architecture-hero.e-con,
    .ieh-elementor-native .ieh-editorial-section.e-con,
    .ieh-elementor-native .ieh-architecture-section.e-con,
    .ieh-elementor-native .ieh-women-hero.e-con,
    .ieh-elementor-native .ieh-hub-section.e-con {
        padding: 48px 20px !important;
    }

    .ieh-elementor-native .ieh-editorial-cta.e-con {
        padding: 44px 20px !important;
    }

    .ieh-editorial-hero__grid > .ieh-figure {
        order: -1;
    }

    .ieh-women-hero__grid > .ieh-figure {
        order: 1 !important;
    }

    .ieh-women-hero__grid > .ieh-women-hero__copy {
        order: 2 !important;
    }

    .ieh-editorial-hero__grid.e-con,
    .ieh-editorial-split.e-con,
    .ieh-women-hero__grid.e-con,
    .ieh-project-grid.e-con,
    .ieh-resource-list.e-con,
    .ieh-news-list.e-con,
    .ieh-benefit-grid.e-con,
    .ieh-service-grid.e-con,
    .ieh-hub-card-grid.e-con {
        grid-template-columns: 1fr !important;
    }

    .ieh-elementor-native .elementor-heading-title {
        overflow-wrap: anywhere;
    }
}

.ieh-editorial-hero .ieh-figure img {
    aspect-ratio: 4 / 3;
}

.ieh-editorial-split .ieh-figure img {
    max-height: 560px;
}

.ieh-hub-card__image,
.ieh-hub-card__image > .elementor-widget-container {
    width: 100%;
}

.ieh-hub-card__image img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.ieh-service-card__icon {
    text-align: left;
}

.ieh-service-card__icon img {
    width: 58px !important;
    height: 58px !important;
    object-fit: contain;
}

@media (max-width: 800px) {
    .ieh-project-card.e-con {
        grid-template-columns: 1fr;
    }
}
/* END IEH NATIVE ELEMENTOR COMPAT 20260820 */

/* IEH native Elementor compatibility: Home + Contact (2026-10-02).
 * Root classes: `ieh-elementor-native ieh-home-page` and
 * `ieh-elementor-native ieh-contact-page`.
 */

/* Contact formerly inherited .ieh-entry spacing from page.php. The native
 * Elementor Header & Footer template must reproduce it on the root container. */
.ieh-elementor-native.ieh-contact-page.e-con {
    padding: 56px 0 80px !important;
}

/* Elementor loads its .e-con defaults after the child theme. Re-state only
 * the section dimensions that the original HTML relied on. */
.ieh-elementor-native .ieh-hero.e-con,
.ieh-elementor-native .ieh-intro.e-con,
.ieh-elementor-native .ieh-news.e-con,
.ieh-elementor-native .ieh-cta.e-con,
.ieh-elementor-native .ieh-video-hero.e-con,
.ieh-elementor-native .ieh-contact-intro.e-con {
    width: 100%;
    max-width: none;
    margin: 0;
    gap: 0;
}

.ieh-elementor-native .ieh-hero.e-con {
    min-height: 400px;
    padding: 0 !important;
    overflow: hidden;
    background-position: 100% 18% !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

.ieh-elementor-native .ieh-intro.e-con {
    padding: 36px 0 20px !important;
}

.ieh-elementor-native .ieh-news.e-con {
    padding: 20px 0 48px !important;
}

.ieh-elementor-native .ieh-cta.e-con {
    position: relative;
    padding: 72px 20px 28px !important;
    overflow: hidden;
}

.ieh-elementor-native .ieh-contact-intro.e-con {
    padding: 8px 0 20px !important;
}

.ieh-elementor-native .ieh-intro > .ieh-container.e-con,
.ieh-elementor-native .ieh-news > .ieh-container.e-con,
.ieh-elementor-native .ieh-cta > .ieh-container.e-con,
.ieh-elementor-native .ieh-contact-intro > .ieh-container.e-con {
    width: min(100% - 40px, var(--ieh-container)) !important;
    max-width: var(--ieh-container) !important;
    margin-inline: auto !important;
    padding: 0 !important;
    gap: 0;
}

.ieh-elementor-native .ieh-intro .elementor-widget,
.ieh-elementor-native .ieh-news .elementor-widget,
.ieh-elementor-native .ieh-cta .elementor-widget,
.ieh-elementor-native .ieh-contact-intro .elementor-widget,
.ieh-elementor-native .ieh-video-hero__content .elementor-widget {
    margin-bottom: 0;
}

/* Override the generic native-Elementor compatibility rule, which deliberately
 * uses neutral widget typography for editorial pages. Home and Contact retain
 * the original Spartan headings. */
.ieh-elementor-native .ieh-intro .elementor-heading-title,
.ieh-elementor-native .ieh-news .elementor-heading-title,
.ieh-elementor-native .ieh-cta .elementor-heading-title,
.ieh-elementor-native .ieh-contact-intro .elementor-heading-title,
.ieh-elementor-native .ieh-video-hero__content .elementor-heading-title {
    margin: 0 0 .625rem !important;
    font-family: "Spartan", "Trebuchet MS", Arial, sans-serif !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

.ieh-elementor-native .ieh-intro .elementor-heading-title,
.ieh-elementor-native .ieh-video-hero__content .elementor-heading-title {
    font-size: clamp(2.3rem, 5vw, 4.8rem) !important;
}

.ieh-elementor-native .ieh-news .elementor-heading-title {
    font-size: 1.5rem !important;
}

.ieh-elementor-native .ieh-contact-intro .elementor-heading-title {
    max-width: 820px;
    font-size: clamp(1.85rem, 3.4vw, 3rem) !important;
}

.ieh-elementor-native .ieh-cta .elementor-heading-title {
    color: #fff !important;
    font-size: clamp(1.4rem, 3vw, 2rem) !important;
}

.ieh-elementor-native .ieh-intro .elementor-widget-text-editor p,
.ieh-elementor-native .ieh-contact-intro .elementor-widget-text-editor p {
    margin: 0;
}

/* Keep the curved news CTA above its decorative pseudo-element. The native
 * Button widget already receives the shared .ieh-elementor-button styling. */
.ieh-elementor-native .ieh-cta.e-con::before {
    z-index: 0;
    pointer-events: none;
}

.ieh-elementor-native .ieh-cta > .ieh-container.e-con {
    position: relative;
    z-index: 1;
    align-items: center;
    text-align: center;
}

/* Native Elementor Video widget used as the Contact hero background. */
.ieh-elementor-native .ieh-video-hero.e-con {
    position: relative;
    display: grid !important;
    place-items: center;
    min-height: 430px;
    padding: 0 !important;
    overflow: hidden;
    background: var(--ieh-green-dark);
}

.ieh-elementor-native .ieh-video-hero > .ieh-contact-video.elementor-widget-video {
    position: absolute !important;
    inset: 0;
    z-index: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
}

.ieh-elementor-native .ieh-contact-video > .elementor-widget-container,
.ieh-elementor-native .ieh-contact-video .elementor-wrapper,
.ieh-elementor-native .ieh-contact-video .elementor-fit-aspect-ratio {
    position: absolute !important;
    inset: 0;
    width: 100%;
    height: 100% !important;
    padding: 0 !important;
    overflow: hidden;
    aspect-ratio: auto !important;
}

.ieh-elementor-native .ieh-contact-video :is(iframe, video) {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 120%;
    height: 120%;
    min-width: 100%;
    min-height: 100%;
    border: 0;
    object-fit: cover;
    pointer-events: none;
    transform: translate(-50%, -50%);
}

.ieh-elementor-native .ieh-contact-video .elementor-custom-embed-play {
    display: none !important;
}

.ieh-elementor-native .ieh-video-hero.e-con::after {
    z-index: 1;
    pointer-events: none;
}

.ieh-elementor-native .ieh-video-hero__content.e-con {
    position: relative;
    z-index: 2;
    width: min(100% - 40px, var(--ieh-container)) !important;
    max-width: var(--ieh-container) !important;
    margin-inline: auto !important;
    padding: 0 !important;
    gap: 0;
    align-items: center;
    text-align: center;
}

.ieh-elementor-native .ieh-video-hero__content .elementor-heading-title {
    color: #fff !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .4);
}

.ieh-elementor-native .ieh-contact-shortcode.elementor-widget-shortcode,
.ieh-elementor-native .ieh-contact-shortcode > .elementor-widget-container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

@media (max-width: 800px) {
    .ieh-elementor-native .ieh-hero.e-con {
        min-height: 310px;
        background-position: center !important;
    }

    .ieh-elementor-native .ieh-video-hero.e-con {
        min-height: 300px;
    }

    .ieh-elementor-native .ieh-contact-video :is(iframe, video) {
        width: 180%;
        height: 180%;
    }
}

/* Incremental editorial content: WordPress-native project and article
 * layouts plus the recovered historical-activities section. */
.ieh-project-content .ieh-project-intro {
    padding: 0 0 22px;
}

.ieh-project-content .ieh-project-intro h2 {
    margin-top: 0;
}

.ieh-project-content .ieh-project-feature {
    display: grid;
    grid-template-columns: minmax(170px, 34%) minmax(0, 1fr);
    gap: 26px;
    align-items: start;
    padding: 28px 0;
    border-top: 1px solid #cad8d1;
}

.ieh-project-content .ieh-project-feature figure {
    margin: 0;
}

.ieh-project-content .ieh-project-feature img {
    display: block;
    width: 100%;
    max-height: 320px;
    object-fit: contain;
    border-radius: 8px;
    background: #fff;
}

.ieh-project-content .ieh-project-feature h3 {
    margin-top: 0;
}

.ieh-project-content .ieh-project-feature p:last-child,
.ieh-project-content .ieh-project-closing p:last-child {
    margin-bottom: 0;
}

.ieh-project-content .ieh-project-closing {
    margin-top: 8px;
    padding: 24px;
    border-left: 4px solid var(--ieh-green);
    background: var(--ieh-mist);
}

.ieh-project-content .ieh-project-funder {
    margin-top: 34px;
    padding-top: 26px;
    border-top: 1px solid #cad8d1;
    text-align: center;
}

.ieh-project-content .ieh-project-funder img,
.ieh-article-content .ieh-article-funder img {
    display: block;
    width: auto !important;
    max-width: min(100%, 520px);
    max-height: 150px;
    margin: 18px auto 0;
    object-fit: contain;
}

.ieh-article-content .ieh-article-resource {
    display: grid;
    grid-template-columns: minmax(210px, .8fr) minmax(0, 1.2fr);
    gap: 30px;
    align-items: start;
    margin: 30px 0;
    padding: 30px 0 !important;
    border-top: 1px solid #cad8d1;
}

.ieh-article-content .ieh-article-resource figure {
    margin: 0;
}

.ieh-article-content .ieh-article-resource img {
    margin: 0 auto;
    border-radius: 8px;
}

.ieh-article-content .ieh-article-resource h2 {
    margin-top: 0;
}

.ieh-article-content .ieh-download-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.ieh-article-content .ieh-download-actions .ieh-button {
    display: inline-flex;
    align-items: center;
    border-radius: 6px;
}

.ieh-article-content .ieh-article-closing {
    margin-top: 24px;
    padding: 28px !important;
    border-left: 4px solid var(--ieh-green);
    background: var(--ieh-mist);
}

.ieh-resource-group .ieh-resource-funder,
.ieh-resource-group .ieh-resource-funder__copy {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #cad8d1;
}

.ieh-resource-group .ieh-resource-funder img,
.ieh-resource-group .ieh-resource-funder__image img {
    display: block;
    width: auto !important;
    max-width: min(100%, 440px);
    max-height: 130px;
    margin-top: 14px;
    object-fit: contain;
}

.ieh-architecture-section--tint {
    background: var(--ieh-mist);
}

.ieh-activity-history .ieh-section-heading {
    width: min(100% - 40px, var(--ieh-container));
    margin-inline: auto;
}

.ieh-activity-history .ieh-hub-card__image img,
.ieh-activity-history .ieh-hub-card > img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.ieh-activity-history .ieh-project-card__year {
    color: var(--ieh-green);
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

@media (max-width: 800px) {
    .ieh-project-content .ieh-project-feature,
    .ieh-article-content .ieh-article-resource {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .ieh-article-content .ieh-download-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ieh-article-content .ieh-download-actions .ieh-button {
        justify-content: center;
    }
}

/* IEH final visual QA fixes (2026-10-02).
 * Keep native Elementor buttons legible even when per-page generated CSS is
 * loaded after the child theme stylesheet with a more specific selector. */
.ieh-elementor-native .ieh-elementor-button:not(.ieh-elementor-button--light) .elementor-button {
    background: var(--ieh-green) !important;
    border-color: var(--ieh-green) !important;
    color: #fff !important;
}

.ieh-elementor-native .ieh-elementor-button:not(.ieh-elementor-button--light) .elementor-button:hover,
.ieh-elementor-native .ieh-elementor-button:not(.ieh-elementor-button--light) .elementor-button:focus,
.ieh-elementor-native .ieh-elementor-button:not(.ieh-elementor-button--light) .elementor-button:focus-visible {
    background: var(--ieh-green-dark) !important;
    border-color: var(--ieh-green-dark) !important;
    color: #fff !important;
}

.ieh-elementor-native .ieh-elementor-button--light .elementor-button {
    background: #fff !important;
    border-color: #fff !important;
    color: var(--ieh-green-dark) !important;
}

.ieh-elementor-native .ieh-elementor-button--light .elementor-button:hover,
.ieh-elementor-native .ieh-elementor-button--light .elementor-button:focus,
.ieh-elementor-native .ieh-elementor-button--light .elementor-button:focus-visible {
    background: var(--ieh-mist) !important;
    border-color: var(--ieh-mist) !important;
    color: var(--ieh-green-dark) !important;
}

/* IEH accessible language selector inside the global mobile drawer (2026-10-02). */
.ieh-drawer__language { display: none; }

@media (max-width: 800px) {
    .ieh-drawer__language {
        display: block;
        margin: 0 0 22px;
        padding: 0 0 16px;
        border-bottom: 1px solid rgba(255, 255, 255, .2);
    }

    .ieh-drawer__language ul {
        display: flex;
        flex-wrap: wrap;
        gap: 10px 20px;
    }

    .ieh-drawer__language li { border: 0; }

    .ieh-drawer__language a {
        padding: 6px 0;
        font-size: .92rem;
    }

    .ieh-drawer__language .current-lang a,
    .ieh-drawer__language a[aria-current="page"] {
        color: #fff;
        font-weight: 800;
        text-decoration: underline;
        text-underline-offset: 4px;
    }
}
