.elementor-widget-idhp_hero{width:100%;min-width:0;margin-block:0}
.elementor-widget-idhp_hero>.elementor-widget-container{margin:0;padding:0}
/* Themes commonly add equal vertical padding to the main and page wrappers.
   On a page containing this full-bleed hero, clear that outer whitespace. */
main.site-main:has(.idhp-hero),
.site-content:has(.idhp-hero),
.page-content:has(.idhp-hero),
.elementor:has(.idhp-hero){padding-block:0!important;margin-block:0!important}
/* El widget suele ser el único contenido del hero. Los contenedores vacíos
   de Elementor traen padding vertical predeterminado y crean franjas blancas. */
.e-con:has(> .elementor-element.elementor-widget-idhp_hero:only-child){padding-block:0!important;gap:0!important;margin-block:0!important}
.idhp-hero,.idhp-hero *{box-sizing:border-box}
.idhp-hero{position:relative;isolation:isolate;overflow:hidden;width:100%;margin:0;min-height:900px;min-height:100svh;background:#285fa4;color:#fff;display:flex;flex-direction:column;align-items:center;padding:100px 24px 36px;font-family:Arial,Helvetica,sans-serif}
.idhp-particles{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;pointer-events:none}
.idhp-photo-particles{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:2;pointer-events:none}
.idhp-layer-back .idhp-photo-particles{display:none}
.idhp-main{width:100%;flex:1;display:flex;align-items:center;justify-content:center;padding-bottom:110px}
.idhp-stage{position:relative;container-type:inline-size;width:var(--idhp-circle-size,600px);max-width:min(82vw,100%);aspect-ratio:1;flex-shrink:0;transform:translate(var(--idhp-stage-x,0px),var(--idhp-stage-y,0px))}
.idhp-photo{position:absolute;inset:0;overflow:hidden;border-radius:50%;z-index:1;background:#204878}
.idhp-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--idhp-image-x,50%) var(--idhp-image-y,50%)}
.idhp-photo::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.12);pointer-events:none}
.idhp-hero .idhp-title{position:absolute;z-index:3;top:50%;left:50%;width:140%;margin:0;padding:0;border:0;display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;transform:translate(calc(-50% + var(--idhp-title-x,0px)),calc(-50% + var(--idhp-title-y,-40px)));font-family:Arial,Helvetica,sans-serif;font-weight:700;text-transform:none;line-height:1;letter-spacing:-.04em}
.idhp-outline,.idhp-fill{display:block;max-width:100%;white-space:nowrap;transform:translate(var(--idhp-text-x,0px),var(--idhp-text-y,0px))}
.idhp-outline{font-size:216px;font-size:36cqw;color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.5px #fff;line-height:.85}
.idhp-fill{font-size:160px;font-size:26.67cqw;color:#fff;line-height:1}
.idhp-button-wrap{position:absolute;z-index:4;bottom:7%;left:50%;width:max-content;max-width:130%;transform:translateX(calc(-50% + var(--idhp-button-x,0px)));text-align:center}
.idhp-hero .idhp-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;min-width:288px;padding:24px 42px;max-width:100%;border:0;border-radius:100px;background:#285fa4;color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:18px;font-weight:400;line-height:1.25;text-decoration:none;letter-spacing:0;box-shadow:none;transition:background-color .2s,color .2s,box-shadow .2s;overflow-wrap:anywhere}
.idhp-hero .idhp-button:hover,.idhp-hero .idhp-button:focus-visible{background:#fff;color:#285fa4;text-decoration:none}
.idhp-button:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.idhp-button svg{width:1em;height:1em;fill:currentColor;flex-shrink:0}
.idhp-complement{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:10px;max-width:100%;text-align:center;color:#fff;font-size:16px;font-weight:400;line-height:1.5;letter-spacing:.025em;overflow-wrap:anywhere}
.idhp-complement-icon{display:inline-flex;flex-shrink:0;font-size:20px}
.idhp-complement-icon svg{width:1em;height:1em;fill:currentColor}
@media(max-width:1024px){.idhp-hero{padding:70px 20px 30px}.idhp-main{padding-bottom:80px}}
@media(max-width:767px){.idhp-hero{min-height:650px;min-height:100svh;padding:64px 16px 30px}.idhp-main{padding-bottom:70px}.idhp-stage{max-width:min(82vw,100%)}.idhp-hero .idhp-title{--idhp-title-y:-20px}.idhp-outline{-webkit-text-stroke-width:1px}.idhp-hero .idhp-button{padding:14px 24px;font-size:12px;min-height:44px;min-width:0}.idhp-complement{font-size:13px}.idhp-complement-icon{font-size:17px}}
@media(prefers-reduced-motion:reduce){.idhp-button{transition:none}}
