/* Quiet interactions, original brand artwork and a static reduced-motion mode. */
.page-progress{height:3px;position:fixed;inset:0 0 auto;z-index:201;background:transparent;pointer-events:none}
.page-progress-bar{display:block;height:100%;background:var(--brand-blue);transform:scaleX(0);transform-origin:left}
.site-header{transition:box-shadow .35s ease,border-color .35s ease}
.site-header.is-scrolled{box-shadow:0 8px 30px #121f3228;border-bottom-color:#2ea4dc65}
.step-icon,.value-icon{width:43px;height:43px;border:1px solid #cbdce7;background:#e6f3fa;display:inline-flex;align-items:center;justify-content:center;color:var(--blue);border-radius:11px;transition:background .3s,color .3s,transform .3s}
.step-icon svg,.value-icon svg{width:23px;height:23px;transition:transform .35s ease}
.step:hover .step-icon,.value:hover .value-icon{background:var(--blue);color:white;transform:translateY(-3px)}
.step:hover .step-icon svg,.value:hover .value-icon svg{transform:rotate(-7deg)}
.value>.value-icon{font-size:inherit}.value h3{margin-top:20px}
.row-icon{width:39px;height:39px;display:inline-flex;align-items:center;justify-content:center;background:#eaf4fa;border-radius:11px;flex-shrink:0;transition:transform .35s,background .35s,color .35s}
.technical-row{transition:color .25s,border-color .25s,background .25s;position:relative;isolation:isolate}
.technical-row::before{content:'';position:absolute;inset:5px -13px;border-radius:4px;background:#edf7fc;opacity:0;z-index:-1;transition:opacity .25s}
.technical-row:hover::before,.technical-row:focus-visible::before{opacity:1}
.technical-row:hover .row-icon,.technical-row:focus-visible .row-icon{transform:rotate(-6deg) scale(1.06);color:white;background:var(--blue)}
.technical-row>svg{transition:transform .3s}.technical-row:hover>svg,.technical-row:focus-visible>svg{transform:translate(3px,-3px)}
.scope-list{list-style:none}.scope-list li>.scope-check{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e5f3fb;margin-top:2px;flex-shrink:0;transition:background .25s,color .25s,transform .25s}
.scope-check svg{width:17px;height:17px}.scope-list li:hover .scope-check{transform:scale(1.12);background:var(--blue);color:white}
.sector-detail{grid-template-columns:1fr 1fr;gap:70px}
.capability-symbol{display:flex;align-items:center;justify-content:center;flex-shrink:0}.capability-symbol>svg{width:47px;height:47px}
.service-icon svg,.sector-icon svg,.aside-icon svg{transition:transform .4s cubic-bezier(.2,.65,.2,1);transform-origin:center}
.service-card:hover .service-icon svg,.service-card:focus-visible .service-icon svg,.sector-card:hover .sector-icon svg,.sector-card:focus-visible .sector-icon svg{transform:translateY(-3px) rotate(-7deg) scale(1.08)}
.detail-aside:hover .aside-icon svg{transform:rotate(-5deg)}
.image-arrow{transition:color .3s,background .3s,transform .3s}.image-arrow svg{transition:transform .3s}
.discipline-card:hover .image-arrow,.discipline-card:focus-visible .image-arrow,.service-card:hover .image-arrow,.service-card:focus-visible .image-arrow,.article-image:hover .image-arrow,.article-image:focus-visible .image-arrow{background:var(--blue);color:white;transform:rotate(4deg)}
.discipline-card:hover .image-arrow svg,.service-card:hover .image-arrow svg,.article-image:hover .image-arrow svg{transform:translate(2px,-2px)}
.hero-visual>img{transition:transform 1.1s cubic-bezier(.2,.6,.2,1)}.hero-visual:hover>img{transform:scale(1.035)}
.visual-grid{transition:border-color .65s,transform 1s}.hero-visual:hover .visual-grid{border-color:#ffffff55;transform:translateY(-5px)}
.visual-plus{transition:transform .65s ease,color .65s}.hero-visual:hover .visual-plus{transform:rotate(90deg);color:#8ed8fa}
.contact-big{transition:color .25s}.contact-big svg,.map-link svg{transition:transform .3s}.contact-big:hover{color:var(--blue)}.contact-big:hover svg,.map-link:hover svg{transform:translate(3px,-3px)}
.filter-button{transition:background .25s,color .25s,border-color .25s,transform .25s}.filter-button:hover{transform:translateY(-2px)}
.reveal-target{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .75s cubic-bezier(.2,.65,.2,1)}
.reveal-target.is-visible{opacity:1;transform:translateY(0)}
.discipline-card.reveal-target.is-visible:hover{transform:translateY(-5px)}
.sector-card.reveal-target.is-visible:hover{transform:translateY(-4px)}
.faq>p{animation:faq-reveal .3s ease}.faq summary>span{transition:transform .25s}
@keyframes faq-reveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:820px){.sector-detail{grid-template-columns:1fr 1fr;gap:35px}}
@media(max-width:600px){.sector-detail{grid-template-columns:1fr;gap:22px}.scope-list li{gap:17px}.technical-row{gap:15px}.row-icon{width:35px;height:35px}.step-icon,.value-icon{width:39px;height:39px}.capability-symbol>svg{width:42px;height:42px}.reveal-target{transform:translateY(14px)}}
@media(hover:none){.hero-visual:hover>img{transform:none}.hero-visual:hover .visual-grid{transform:none}.hero-visual:hover .visual-plus{transform:none}.filter-button:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.reveal-target{opacity:1!important;transform:none!important}.page-progress-bar{transition:none}.step-icon,.value-icon,.row-icon,.scope-check,.service-icon svg,.sector-icon svg,.aside-icon svg,.image-arrow,.image-arrow svg,.technical-row>svg,.hero-visual>img,.visual-grid,.visual-plus,.filter-button,.discipline-card,.sector-card,.service-card,.button.primary,.contact-big svg,.map-link svg,.button svg{transform:none!important}.faq>p{animation:none}}
@media print{.reveal-target{opacity:1!important;transform:none!important}.page-progress{display:none}}
