/* Iron Rock V4: scoped enhancement, not an HTML layout. Native Elementor controls retain layout/content. */
.ir4{--ir-orange:#FF6B0B;--ir-ink:#171A1D;--ir-paper:#F4F3EF;--ir-rust:#AD4200;isolation:isolate}
.ir4 p:last-child{margin-bottom:0}.ir4 a{text-decoration:none}.ir4 .elementor-widget-text-editor a{text-decoration:underline;text-underline-offset:3px;color:inherit}.ir4 :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--ir-orange);outline-offset:4px}.ir4 :is(h1,h2,h3){text-wrap:balance}.ir4 .elementor-widget-image img{display:block}.ir4 .elementor-button{position:relative;overflow:hidden;transition:background-color .25s,color .25s,box-shadow .25s;min-height:44px;align-items:center;display:inline-flex}
.ir4-button-orange .elementor-button:before,.ir4-button-dark .elementor-button:before{content:"";position:absolute;inset:-80% auto -80% -80%;width:45%;transform:skewX(-20deg);background:rgba(255,255,255,.23);transition:left .6s;pointer-events:none}.ir4-button-orange .elementor-button:is(:hover,:focus-visible):before,.ir4-button-dark .elementor-button:is(:hover,:focus-visible):before{left:140%}
.ir4-nav .elementor-button:after{content:"";position:absolute;bottom:5px;left:10px;right:10px;height:2px;background:var(--ir-orange);transform:scaleX(0);transform-origin:left;transition:transform .3s}.ir4-nav .elementor-button:is(:hover,:focus-visible):after{transform:scaleX(1)}
.ir4-card,.ir4-resource{position:relative;box-shadow:0 3px 14px rgba(20,23,25,.035);transition:box-shadow .4s,border-color .4s,transform .4s}.ir4-card-media,.ir4-resource-media,.ir4-shine{position:relative;overflow:hidden}.ir4-card-media .elementor-widget-image,.ir4-resource-media .elementor-widget-image{width:100%}.ir4-card-media img,.ir4-resource-media img,.ir4-shine img{transition:transform .55s ease;transform:scale(1)}
.ir4-card-media:after{content:"";position:absolute;inset:0;background:rgba(255,107,11,.24);transform:translateY(-101%);transition:transform .6s .08s;pointer-events:none;z-index:2}.ir4-card:focus-within .ir4-card-media:after{transform:translateY(0)}.ir4-card:focus-within{border-color:var(--ir-orange);box-shadow:0 12px 30px rgba(20,23,25,.1)}
.ir4-shine:after{content:"";position:absolute;top:0;bottom:0;left:-75%;width:45%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-20deg);pointer-events:none;z-index:3}
.ir4-feature,.ir4-step{position:relative;transition:transform .4s,box-shadow .4s,border-color .4s;overflow:hidden}.ir4-feature{border-left:3px solid var(--ir-orange)}.ir4-step:before{content:"";position:absolute;inset:0;background:rgba(255,107,11,.08);transform:scaleX(0);transform-origin:left;transition:transform .4s;z-index:-1}.ir4-step:focus-within:before{transform:scaleX(1)}
.ir4-resource-media:before,.ir4-resource-media:after{content:"";position:absolute;width:50%;height:100%;background:rgba(255,107,11,.25);z-index:2;pointer-events:none;transition:transform .65s;top:0}.ir4-resource-media:before{left:0;transform:translateY(101%)}.ir4-resource-media:after{right:0;transform:translateY(-101%)}.ir4-resource:focus-within .ir4-resource-media:before,.ir4-resource:focus-within .ir4-resource-media:after{transform:translateY(0)}
.ir4-faq{--n-accordion-title-normal-color:#FFFFFF!important;--n-accordion-title-hover-color:#FF9B59!important;--n-accordion-title-active-color:#FF9B59!important;--n-accordion-icon-normal-color:#FF9B59!important;--n-accordion-icon-active-color:#FF9B59!important}.ir4-faq .e-n-accordion-item-title{background:#23282B!important;border:1px solid #4E585E!important;border-radius:5px!important;padding:21px 24px!important;transition:background .3s,border-color .3s}.ir4-faq .e-n-accordion-item[open]>.e-n-accordion-item-title{border-color:var(--ir-orange)!important}.ir4-faq .e-n-accordion-item>.e-con{background:#23282B!important;color:#CCD0D1!important;padding:0 24px 24px!important;border:0!important}.ir4-faq .elementor-widget-text-editor{color:#CCD0D1!important}.ir4-faq .e-n-accordion-item{border:0!important}.ir4-faq .e-n-accordion-item-title:focus-visible{outline-offset:3px}.ir4-mobile-menu .e-n-accordion-item-title{min-height:44px}
.ir4-home-hero,.ir4-inner-hero{background-attachment:scroll}.ir4-footer{position:relative}.ir4-footer:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 5% 0%,rgba(255,107,11,.07),transparent 55%);pointer-events:none}
/* Contact Form 7: actual plugin controls, including accessible error/response states. */
.ir4-project-form{color:#FFFFFF;font:16px/1.6 Arial,sans-serif}.ir4-project-form .ir4-form-intro{color:#CCD0D1;margin:0 0 24px}.ir4-project-form fieldset{border:0;padding:0;margin:0 0 32px;min-width:0}.ir4-project-form legend{font-size:18px;line-height:1.4;font-weight:700;color:#FF9B59;margin:0 0 22px;padding:0}.ir4-project-form label{display:block;font-size:15px;font-weight:700;margin:0 0 20px;color:#FFFFFF}.ir4-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.ir4-project-form :is(input[type=text],input[type=email],input[type=tel],select,textarea){display:block;width:100%;max-width:100%;min-height:48px;margin-top:8px;padding:14px 16px;border:1px solid #7E888D;border-radius:5px;background:#202629;color:#FFFFFF;font:16px/1.5 Arial,sans-serif;box-shadow:none}.ir4-project-form textarea{resize:vertical;min-height:112px}.ir4-project-form input::placeholder,.ir4-project-form textarea::placeholder{color:#AFB8BC;opacity:1}.ir4-project-form select option{background:#202629;color:#FFFFFF}.ir4-project-form .wpcf7-form-control-wrap{display:block}.ir4-project-form .wpcf7-list-item{margin:0}.ir4-project-form input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--ir-orange);margin:3px 10px 0 0;flex-shrink:0}.ir4-project-form .wpcf7-list-item label{display:flex;align-items:flex-start;font-weight:400;margin-bottom:18px}.ir4-project-form .ir4-field-note{font-size:14px;line-height:1.65;color:#CCD0D1;margin:0 0 20px}.ir4-project-form .ir4-submit,.ir4-form-controls button{border:1px solid transparent;border-radius:4px;background:#FF6B0B;color:#141719;padding:16px 22px;min-height:50px;font:bold 16px/1.25 Arial,sans-serif;cursor:pointer;transition:background .25s}.ir4-project-form .ir4-submit:hover,.ir4-form-controls button:hover{background:#FF9B59}.ir4-project-form .ir4-submit:disabled{opacity:.55;cursor:not-allowed}.ir4-form-controls{display:flex;gap:12px;justify-content:space-between;margin-top:26px}.ir4-form-controls .ir4-prev{background:transparent;color:#FFFFFF;border-color:#7E888D}.ir4-form-progress{font-size:14px;color:#FF9B59;font-weight:700;margin-bottom:20px}.ir4-form-step[hidden]{display:none!important}.ir4-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}.ir4-form-summary:not(:empty){border:1px solid #7E888D;border-left:3px solid #FF6B0B;background:#202629;padding:20px;margin:20px 0;color:#FFFFFF;font-size:14px}.ir4 .wpcf7-not-valid-tip{font-size:14px;color:#FFC2A6;margin-top:6px;font-weight:400}.ir4 .wpcf7-not-valid{border-color:#FFC2A6!important}.ir4 .wpcf7-response-output{padding:18px!important;margin:24px 0 0!important;border-radius:4px;font-size:16px;color:#FFFFFF}.ir4 .wpcf7 form.sent .wpcf7-response-output{border-color:#79C797;background:#1B3326}.ir4 .wpcf7 form:is(.invalid,.failed,.spam,.aborted) .wpcf7-response-output{border-color:#FFC2A6;background:#45261C}.ir4 .wpcf7-spinner{vertical-align:middle}.ir4 .wpcf7-acceptance a{color:#FF9B59;text-decoration:underline}
@media(hover:hover) and (pointer:fine){.ir4-card:hover,.ir4-resource:hover{transform:translateY(-7px);border-color:#FF6B0B;box-shadow:0 14px 30px rgba(20,23,25,.1)}.ir4-card:hover .ir4-card-media:after{transform:translateY(0)}.ir4-card:hover img,.ir4-resource:hover img,.ir4-project:hover img,.ir4-shine:hover img{transform:scale(1.04)}.ir4-shine:hover:after{animation:ir4-shine 1.4s ease}.ir4-feature:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(20,23,25,.07)}.ir4-step:hover{border-color:#FF6B0B;transform:translateY(-4px)}.ir4-step:hover:before{transform:scaleX(1)}.ir4-resource:hover .ir4-resource-media:before,.ir4-resource:hover .ir4-resource-media:after{transform:translateY(0)}}
@keyframes ir4-shine{to{left:140%}}
@media(max-width:767px){.ir4-form-grid{grid-template-columns:1fr}.ir4-project-form fieldset{margin-bottom:28px}.ir4-faq .e-n-accordion-item-title{padding:20px!important}.ir4-faq .e-n-accordion-item>.e-con{padding:0 20px 20px!important}.ir4-form-controls button{flex:1}}
@media(prefers-reduced-motion:reduce){.ir4,.ir4 *,.ir4 :before,.ir4 :after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ir4 .elementor-invisible{visibility:visible!important;opacity:1!important}.ir4 :is(.ir4-card,.ir4-resource,.ir4-feature,.ir4-step),.ir4 img{transform:none!important}.ir4-shine:after{display:none}}

.ir4 .elementor-widget-image a{display:block;width:100%;max-width:100%}.ir4-form-controls button[hidden]{display:none!important}.ir4-form-grid>p{display:contents}.ir4-form-grid br{display:none}
/* Keep enhancement states visible above Elementor's per-document border rules. */
.ir4 .ir4-card:focus-within,.ir4 .ir4-resource:focus-within{border-color:#FF6B0B!important}
@media(hover:hover) and (pointer:fine){.ir4 .ir4-card:hover,.ir4 .ir4-resource:hover,.ir4 .ir4-step:hover{border-color:#FF6B0B!important}}
