/* Orextic Services v2. Native Elementor widgets with progressively enhanced layout. */
.orex2-section, .orex2-section *{box-sizing:border-box}
.orex2-section{--orex2-ink:#1b1918;--orex2-orange:#ff5c3b;--orex2-cream:#fcf8f5;background:var(--orex2-cream)!important;width:100%!important;overflow:visible!important;padding:clamp(54px,5.3vw,88px) 0 clamp(58px,5.9vw,100px)!important;font-family:Manrope,Arial,sans-serif;}
.orex2-section .elementor-widget-heading .elementor-heading-title{font-family:Manrope,Arial,sans-serif;margin:0!important;}
.orex2-inner{width:100%!important;max-width:1680px!important;margin:0 auto!important;padding:0 clamp(22px,5.5vw,94px)!important;display:flex!important;flex-direction:column!important;gap:0!important}
.orex2-header{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:end!important;gap:6%!important;margin-bottom:clamp(44px,5.2vw,86px)!important;width:100%!important;}
.orex2-heading-wrap{display:flex!important;flex-direction:column!important;gap:32px!important;flex:0 1 62%!important;width:62%!important;min-width:0!important;}
.orex2-description-wrap{flex:0 1 31%!important;width:31%!important;min-width:0!important;padding-bottom:8px!important}
.orex2-kicker .elementor-heading-title{font-size:13px!important;letter-spacing:.11em!important;line-height:1.3!important;font-weight:700!important;color:#201d1b!important}
.orex2-title .elementor-heading-title{font-size:clamp(37px,3.06vw,53px)!important;letter-spacing:-.044em!important;line-height:1.17!important;font-weight:500!important;color:var(--orex2-ink)!important;}
.orex2-section .orex2-accent{color:var(--orex2-orange)!important}
.orex2-header-description p{font-size:clamp(16px,1.2vw,21px)!important;line-height:1.55!important;letter-spacing:-.012em!important;color:#625b56!important;margin:0!important}
.orex2-deck{display:flex!important;flex-direction:row!important;align-items:stretch!important;gap:clamp(14px,1.55vw,25px)!important;width:100%!important;min-height:505px!important;}
.orex2-card{--orex2-basis:1;position:relative!important;isolation:isolate;display:flex!important;flex-direction:column!important;flex:1 1 0%!important;min-width:0!important;width:0!important;min-height:505px!important;padding:clamp(25px,2.45vw,40px)!important;border-radius:34px!important;background:linear-gradient(132deg,#fff9f6 0%,#fbf4ef 59%,#f4e6df 100%)!important;border:1px solid #f3e5df!important;overflow:hidden!important;box-shadow:0 12px 40px rgba(88,52,38,.025)!important;transition:flex-grow .52s cubic-bezier(.22,.65,.2,1),background .24s ease!important;cursor:pointer!important;}
.orex2-card.is-active{flex-grow:2.08!important}
.orex2-card-copy{position:relative!important;z-index:2!important;display:flex!important;flex-direction:column!important;gap:0!important;width:100%!important;min-width:0!important;pointer-events:none!important;}
.orex2-card-top{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:18px!important;width:100%!important;min-height:56px!important;margin-bottom:24px!important}
.orex2-icon-tile{flex:0 0 56px!important;display:flex!important;align-items:center!important;justify-content:center!important;width:56px!important;height:56px!important;min-height:56px!important;border-radius:16px!important;background:#ffe9df!important}
.orex2-icon .elementor-icon{font-size:23px!important;color:var(--orex2-orange)!important;}
.orex2-service-name{flex:1 1 auto!important;min-width:0!important}
.orex2-service-name .elementor-heading-title{font-size:15px!important;color:#77716b!important;font-weight:500!important;line-height:1.4!important}
.orex2-toggle{flex:0 0 38px!important;width:38px!important;min-width:38px!important;pointer-events:auto!important;margin-left:auto!important}
.orex2-toggle .elementor-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;position:relative!important;padding:0!important;width:36px!important;height:36px!important;min-width:36px!important;border:0!important;border-radius:100%!important;background:transparent!important;color:var(--orex2-orange)!important;box-shadow:none!important;text-decoration:none!important;}
.orex2-toggle .elementor-button-text{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.orex2-toggle .elementor-button::after{content:'↗';font-family:Manrope,Arial,sans-serif;color:var(--orex2-orange);font-size:25px;font-weight:400;line-height:1}
.orex2-toggle .elementor-button:focus-visible{outline:2px solid var(--orex2-orange)!important;outline-offset:4px!important}
.orex2-card-headline{width:100%!important;margin:0 0 21px!important;}
.orex2-card-headline .elementor-heading-title{font-size:clamp(20px,1.46vw,26px)!important;line-height:1.27!important;letter-spacing:-.035em!important;color:var(--orex2-ink)!important;font-weight:600!important}
.orex2-card.is-active .orex2-card-headline{width:min(480px,74%)!important}
.orex2-card.is-active .orex2-card-headline .elementor-heading-title{font-size:clamp(23px,2.05vw,34px)!important}
.orex2-card-details{width:100%!important;max-height:0!important;opacity:0!important;visibility:hidden!important;overflow:hidden!important;transition:max-height .28s ease,opacity .22s ease!important;pointer-events:none!important;display:flex!important;flex-direction:column!important;gap:24px!important}
.orex2-card.is-active .orex2-card-details{max-height:410px!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;width:min(475px,69%)!important}
.orex2-card-description p{font-size:clamp(14px,1.05vw,18px)!important;line-height:1.53!important;color:#5b5652!important;margin:0!important}
.orex2-features .elementor-icon-list-items{display:flex!important;flex-direction:column!important;gap:8px!important;margin:0!important;padding:0!important;}
.orex2-features .elementor-icon-list-item{display:flex!important;align-items:center!important;gap:13px!important;font-family:Manrope,Arial,sans-serif;font-size:clamp(12px,.96vw,15px)!important;line-height:1.4!important;color:#46413d!important;margin:0!important;padding:0!important}
.orex2-features .elementor-icon-list-icon{width:21px!important;height:21px!important;flex:0 0 21px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#ffe5d9!important;border-radius:50%!important}
.orex2-features .elementor-icon-list-icon i,.orex2-features .elementor-icon-list-icon svg{color:var(--orex2-orange)!important;fill:var(--orex2-orange)!important;font-size:10px!important;width:10px!important;}
.orex2-features .elementor-icon-list-text{font-family:Manrope,Arial,sans-serif!important;color:#46413d!important;padding:0!important;}
.orex2-image{position:absolute!important;z-index:1!important;right:0!important;bottom:0!important;width:100%!important;height:57%!important;pointer-events:none!important;opacity:.97!important;overflow:hidden!important;}
.orex2-image .elementor-widget-container{width:100%!important;height:100%!important;}
.orex2-image img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:bottom right!important;mask-image:linear-gradient(to bottom,transparent 0%,#000 33%)!important;}
.orex2-card.is-active .orex2-image{width:66%!important;height:90%!important;right:0!important;bottom:0!important}
.orex2-card.is-active .orex2-image img{mask-image:linear-gradient(to right,transparent 0%,#000 35%)!important}
.orex2-card:focus-within{outline:2px solid rgba(255,92,59,.65)!important;outline-offset:3px!important}
/* CSS-only progressive fallback for pointer hover even if JS was blocked */
@media (hover:hover) and (pointer:fine) and (min-width:1025px){
 .orex2-section:not([data-orex2-initialized="1"]) .orex2-deck:has(.orex2-card:hover)>.orex2-card{flex-grow:1!important}
 .orex2-section:not([data-orex2-initialized="1"]) .orex2-deck:has(.orex2-card:hover)>.orex2-card:hover{flex-grow:2.08!important}
 .orex2-section:not([data-orex2-initialized="1"]) .orex2-deck:has(.orex2-card:hover)>.orex2-card:not(:hover) .orex2-card-details{max-height:0!important;opacity:0!important;visibility:hidden!important}
 .orex2-section:not([data-orex2-initialized="1"]) .orex2-deck:has(.orex2-card:hover)>.orex2-card:hover .orex2-card-details{max-height:410px!important;opacity:1!important;visibility:visible!important;width:min(475px,69%)!important}
 .orex2-section:not([data-orex2-initialized="1"]) .orex2-deck:has(.orex2-card:hover)>.orex2-card:hover .orex2-card-headline{width:min(480px,74%)!important}
 .orex2-section:not([data-orex2-initialized="1"]) .orex2-deck:has(.orex2-card:hover)>.orex2-card:hover .orex2-card-headline .elementor-heading-title{font-size:clamp(23px,2.05vw,34px)!important}
 .orex2-section:not([data-orex2-initialized="1"]) .orex2-deck:has(.orex2-card:hover)>.orex2-card:not(:hover) .orex2-card-headline{width:100%!important}
 .orex2-section:not([data-orex2-initialized="1"]) .orex2-deck:has(.orex2-card:hover)>.orex2-card:not(:hover) .orex2-card-headline .elementor-heading-title{font-size:clamp(20px,1.46vw,26px)!important}
 .orex2-section:not([data-orex2-initialized="1"]) .orex2-deck:has(.orex2-card:hover)>.orex2-card:hover .orex2-image{width:66%!important;height:90%!important}
 .orex2-section:not([data-orex2-initialized="1"]) .orex2-deck:has(.orex2-card:hover)>.orex2-card:not(:hover) .orex2-image{width:100%!important;height:57%!important}
}
@media (max-width:1120px){
 .orex2-card.is-active .orex2-card-details{width:100%!important}
 .orex2-card.is-active .orex2-card-headline{width:100%!important}
 .orex2-card.is-active .orex2-image{width:60%!important;height:58%!important;opacity:.45!important}
 .orex2-card-top{gap:10px!important}
 .orex2-icon-tile{flex-basis:47px!important;width:47px!important;height:47px!important;min-height:47px!important}
}
@media (max-width:900px){
 .orex2-header{flex-direction:column!important;align-items:flex-start!important;gap:24px!important;margin-bottom:40px!important}
 .orex2-heading-wrap,.orex2-description-wrap{flex:1 1 100%!important;width:100%!important}
 .orex2-heading-wrap{gap:18px!important}
 .orex2-title .elementor-heading-title{font-size:clamp(32px,4.4vw,44px)!important}
 .orex2-deck{flex-direction:column!important;min-height:auto!important;gap:14px!important}
 .orex2-card,.orex2-card.is-active{width:100%!important;min-height:205px!important;flex:0 0 auto!important;padding:27px!important;border-radius:25px!important}
 .orex2-card.is-active{min-height:465px!important}
 .orex2-card-top{margin-bottom:20px!important}
 .orex2-card.is-active .orex2-card-details{width:min(440px,75%)!important}
 .orex2-card.is-active .orex2-image{height:63%!important;opacity:.65!important}
 .orex2-card:not(.is-active) .orex2-image{height:68%!important;width:45%!important;opacity:.65!important}
 .orex2-card-headline .elementor-heading-title{font-size:24px!important}
}
@media (max-width:560px){
 .orex2-inner{padding:0 18px!important}
 .orex2-title .elementor-heading-title{font-size:34px!important;line-height:1.18!important}
 .orex2-header-description p{font-size:16px!important}
 .orex2-card,.orex2-card.is-active{padding:23px!important;border-radius:22px!important}
 .orex2-card.is-active{min-height:505px!important}
 .orex2-card-top{margin-bottom:16px!important}
 .orex2-card-headline .elementor-heading-title{font-size:22px!important}
 .orex2-card.is-active .orex2-card-headline .elementor-heading-title{font-size:25px!important}
 .orex2-card.is-active .orex2-card-details,.orex2-card.is-active .orex2-card-headline{width:100%!important}
 .orex2-card.is-active .orex2-image{width:100%!important;height:36%!important;opacity:.22!important}
 .orex2-card-description p{font-size:15px!important}
 .orex2-features .elementor-icon-list-item{font-size:13px!important}
}
@media(prefers-reduced-motion:reduce){.orex2-card,.orex2-card-details{transition:none!important}}


/* Orextic Services v2.1 hover-only hotfix.
   Paste into Appearance > Customize > Additional CSS if a full plugin update is not possible.
   Works independently of Elementor HTML widget scripts and the plugin JS.
   Keeps the original screenshot styling and overrides any stale .is-active state on hover.
*/
@media (min-width:901px) and (hover:hover) and (pointer:fine) {
  .orex2-section .orex2-deck:has(> .orex2-card:hover) > .orex2-card {
    flex-grow:1!important;
  }
  .orex2-section .orex2-deck:has(> .orex2-card:hover) > .orex2-card:hover {
    flex-grow:2.08!important;
  }
  .orex2-section .orex2-deck:has(> .orex2-card:hover) > .orex2-card .orex2-card-details {
    max-height:0!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .orex2-section .orex2-deck:has(> .orex2-card:hover) > .orex2-card:hover .orex2-card-details {
    max-height:410px!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    width:min(475px,69%)!important;
  }
  .orex2-section .orex2-deck:has(> .orex2-card:hover) > .orex2-card .orex2-card-headline {
    width:100%!important;
  }
  .orex2-section .orex2-deck:has(> .orex2-card:hover) > .orex2-card .orex2-card-headline .elementor-heading-title {
    font-size:clamp(20px,1.46vw,26px)!important;
  }
  .orex2-section .orex2-deck:has(> .orex2-card:hover) > .orex2-card:hover .orex2-card-headline {
    width:min(480px,74%)!important;
  }
  .orex2-section .orex2-deck:has(> .orex2-card:hover) > .orex2-card:hover .orex2-card-headline .elementor-heading-title {
    font-size:clamp(23px,2.05vw,34px)!important;
  }
  .orex2-section .orex2-deck:has(> .orex2-card:hover) > .orex2-card .orex2-image {
    width:100%!important;
    height:57%!important;
  }
  .orex2-section .orex2-deck:has(> .orex2-card:hover) > .orex2-card:hover .orex2-image {
    width:66%!important;
    height:90%!important;
  }
}
@media (min-width:901px) and (max-width:1120px) and (hover:hover) and (pointer:fine) {
  .orex2-section .orex2-deck:has(> .orex2-card:hover) > .orex2-card:hover .orex2-card-details {
    width:100%!important;
  }
  .orex2-section .orex2-deck:has(> .orex2-card:hover) > .orex2-card:hover .orex2-card-headline {
    width:100%!important;
  }
}
@media (prefers-reduced-motion:reduce) {
  .orex2-section .orex2-deck .orex2-card,
  .orex2-section .orex2-deck .orex2-card-details { transition:none!important; }
}
/* Do not show an oversized focus outline after mouse clicks; keep keyboard focus visible. */
.orex2-section .orex2-card:focus-within { outline:none!important; }
.orex2-section .orex2-card:has(.orex2-toggle .elementor-button:focus-visible) {
  outline:2px solid rgba(255,92,59,.56)!important;
  outline-offset:3px!important;
}
