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

.ir5 .elementor-widget-image a{display:block;width:100%;max-width:100%}.ir5-form-controls button[hidden]{display:none!important}.ir5-form-grid>p{display:contents}.ir5-form-grid br{display:none}
/* Keep enhancement states visible above Elementor's per-document border rules. */
.ir5 .ir5-card:focus-within,.ir5 .ir5-resource:focus-within{border-color:#FF6B0B!important}
@media(hover:hover) and (pointer:fine){.ir5 .ir5-card:hover,.ir5 .ir5-resource:hover,.ir5 .ir5-step:hover{border-color:#FF6B0B!important}}
/* V5 editorial layer: native Elementor retains all page geometry and content. */
.ir5 .ir5-image img{border-radius:inherit}.ir5 .ir5-shine{position:relative;overflow:hidden}.ir5 .ir5-shine img{width:100%;transition:transform .65s ease}.ir5 .ir5-lift{transition:transform .4s,box-shadow .4s,border-color .4s}.ir5 .ir5-lift:focus-within{border-color:#FF6B0B!important;box-shadow:0 18px 40px rgba(15,22,26,.13)}
.ir5-grid-background{position:relative}.ir5-grid-background:before{content:"";position:absolute;inset:0;background-image:linear-gradient(35deg,transparent 48%,rgba(255,255,255,.025) 49%,rgba(255,255,255,.025) 50%,transparent 51%);background-size:140px 140px;pointer-events:none;z-index:-1}
.ir5 .ir5-dark-tile{border-left:3px solid #FF6B0B;transition:background .35s,transform .35s}.ir5 .ir5-photo-caption{box-shadow:0 12px 32px rgba(0,0,0,.12)}.ir5 .ir5-contents .elementor-button{text-align:left;line-height:1.55}.ir5 .ir5-detail-card:before{content:"";position:absolute;left:0;bottom:0;width:100%;height:4px;background:#FF6B0B;transform:scaleX(0);transform-origin:left;transition:transform .4s}.ir5 .ir5-detail-card{position:relative;overflow:hidden}
/* Explicit question text color is essential: some themes style the title span directly. */
.ir5 .ir5-faq .e-n-accordion-item-title-text,.ir5 .ir5-faq .e-n-accordion-item-title-header{color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important;opacity:1!important}.ir5 .ir5-faq details[open]>.e-n-accordion-item-title .e-n-accordion-item-title-text,.ir5 .ir5-faq summary:hover .e-n-accordion-item-title-text{color:#FFAF79!important;-webkit-text-fill-color:#FFAF79!important}.ir5 .ir5-faq .e-n-accordion-item-title-icon{color:#FFAF79!important}.ir5 .ir5-faq .e-n-accordion-item-title-icon svg{fill:#FFAF79!important}.ir5 .ir5-faq .e-n-accordion-item>.e-con,.ir5 .ir5-faq .elementor-widget-text-editor,.ir5 .ir5-faq .elementor-widget-text-editor p{color:#E2E7E9!important}.ir5 .ir5-faq .e-n-accordion-item-title{min-height:76px!important;padding:24px!important;border-radius:6px!important;box-shadow:inset 4px 0 #FF6B0B}.ir5 .ir5-faq .e-n-accordion-item[open]>.e-n-accordion-item-title{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.ir5 .ir5-faq .e-n-accordion-item>.e-con{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.ir5 .ir5-faq summary:focus-visible{outline:3px solid #FFAF79;outline-offset:3px}
/* Native Nested Accordion dropdowns: click/keyboard first; hover is an enhancement. */
.ir5-header{overflow:visible!important}.ir5 .ir5-dropdown{position:relative;overflow:visible;z-index:210}.ir5 .ir5-dropdown .e-n-accordion-item{position:relative;overflow:visible}.ir5 .ir5-dropdown .e-n-accordion-item-title{border:0!important;background:transparent!important;padding:14px 8px!important;min-height:44px}.ir5 .ir5-dropdown .e-n-accordion-item-title-text{font:700 14px/1.3 Arial!important;color:#171A1D!important;white-space:nowrap}.ir5 .ir5-dropdown .e-n-accordion-item-title-icon{color:#AD4200!important}.ir5 .ir5-dropdown .e-n-accordion-item-title-icon svg{fill:#AD4200!important}.ir5 .ir5-dropdown .e-n-accordion-item[open]>.e-n-accordion-item-title .e-n-accordion-item-title-text{color:#AD4200!important}.ir5 .ir5-dropdown .e-n-accordion-item>.e-con{position:absolute!important;top:100%;left:0;width:310px!important;max-width:310px!important;background:#FFF!important;padding:10px!important;border:1px solid #DDDFDB!important;border-top:3px solid #FF6B0B!important;box-shadow:0 18px 38px rgba(15,22,26,.17);border-radius:0 0 6px 6px;z-index:220;gap:0!important}.ir5 .ir5-dropdown .elementor-widget-button{width:100%}.ir5 .ir5-dropdown .elementor-button{display:flex;width:100%;text-align:left;justify-content:flex-start;white-space:normal}.ir5 .ir5-dropdown .elementor-button:hover{background:#F4F3EF!important}.ir5 .ir5-desktop-menu>.elementor-widget-button .elementor-button{font-size:14px!important;padding-left:8px;padding-right:8px}.ir5 .ir5-desktop-menu .e-n-accordion-item-title:focus-visible{outline:2px solid #AD4200;outline-offset:0}.ir5 .ir5-mobile-menu>.elementor-widget-container>.e-n-accordion>.e-n-accordion-item>.e-con{padding:10px 0!important}.ir5 .ir5-submenu .e-n-accordion-item-title-text{color:#171A1D!important}.ir5 .ir5-submenu .e-n-accordion-item>.e-con{background:#F4F3EF!important;border-left:3px solid #FF6B0B!important;padding:8px!important}.ir5 .ir5-mobile-menu .e-n-accordion-item-title{min-height:44px}
@media(hover:hover) and (pointer:fine){.ir5 .ir5-lift:hover{transform:translateY(-7px);box-shadow:0 18px 40px rgba(15,22,26,.12);border-color:#FF6B0B!important}.ir5 .ir5-shine:hover img{transform:scale(1.045)}.ir5 .ir5-dark-tile:hover{background:#303A40!important;transform:translateX(4px)}.ir5 .ir5-detail-card:hover:before{transform:scaleX(1)}}
@media(max-width:767px){.ir5 .ir5-faq .e-n-accordion-item-title{padding:20px!important;min-height:76px!important}.ir5 .ir5-photo-caption{box-shadow:0 7px 18px rgba(0,0,0,.1)}}
@media(prefers-reduced-motion:reduce){.ir5 .ir5-lift,.ir5 .ir5-dark-tile,.ir5 .ir5-shine img{transform:none!important}}
body.elementor-editor-active .ir5-dropdown .e-n-accordion-item>.e-con{position:static!important;width:100%!important;max-width:100%!important}
