/* Motion and depth: native scroll, compositor transforms, reduced-motion fallbacks. */
:root{--ease-out:cubic-bezier(.22,1,.36,1);--header-height:80px}html{scroll-padding-top:calc(var(--header-height) + 28px)}section:focus{outline:none}.header{height:var(--header-height);background:#102d56f5;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:background .35s,box-shadow .35s,border-color .35s}.header.is-scrolled{background:#0b2343ef;border-bottom-color:#ffffff1a;box-shadow:0 8px 35px #0b234324}.nav-bar nav{position:relative;gap:9px;isolation:isolate}.nav-bar nav:before{content:'';position:absolute;inset:0 auto 0 0;width:var(--nav-width,0px);transform:translateX(var(--nav-x,0px));border-radius:4px;background:#ffffff0d;z-index:-1;transition:transform .4s var(--ease-out),width .4s var(--ease-out),opacity .2s;opacity:var(--nav-opacity,0)}.nav-bar nav a{font-size:12px;padding:12px 15px;color:#d7e3f2;transition:color .25s}.nav-bar nav a.active,.nav-bar nav a:hover,.nav-bar nav a:focus-visible{color:#fff}.nav-bar nav a:after{left:15px;right:15px;width:auto;bottom:6px;background:#8ebcf3;height:2px;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}.nav-bar nav a.active:after,.nav-bar nav a:hover:after{width:auto;transform:scaleX(1)}.header .button{box-shadow:0 3px 12px #081c341a;transition:transform .3s var(--ease-out),background .2s,box-shadow .3s}.header .button:hover{box-shadow:0 6px 22px #081c3440}.scroll-sentinel{position:absolute;top:120px;width:1px;height:1px;pointer-events:none}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:#8ebcf3;transform:scaleX(0);transform-origin:left;z-index:30;pointer-events:none}.hero{min-height:600px}.hero-content{padding-top:108px;padding-bottom:110px}.hero-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}.hero-line>span{display:block}.hero-description{margin-top:29px}.hero-photo img{transform:scale(1.045)}.hero:after{background:linear-gradient(90deg,#102d56 0%,#102d56fa 29%,#102d56db 43%,#102d5670 65%,#102d5610 100%)}.hero:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#0b234355,transparent 24%);z-index:-1}.motion-ready .hero-line>span{animation:hero-type 1.1s var(--ease-out) both}.motion-ready .hero-line:nth-child(2)>span{animation-delay:.12s}.motion-ready .hero-description{animation:soft-enter .9s .28s var(--ease-out) both}.motion-ready .hero-actions{animation:soft-enter .9s .4s var(--ease-out) both}.button{position:relative;overflow:hidden;isolation:isolate;transition:background .25s,transform .4s var(--ease-out),box-shadow .4s var(--ease-out)}.button:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 20%,#ffffff24 50%,transparent 80%);transform:translateX(-140%) skewX(-15deg);transition:transform .65s var(--ease-out)}.button:hover:after{transform:translateX(140%) skewX(-15deg)}.button:hover{transform:translateY(-3px);box-shadow:0 10px 25px #102d561a}.button:active{transform:translateY(0) scale(.98)}.button>span,.text-link>span,.inline-link>span{display:inline-block;transition:transform .35s var(--ease-out)}.button:hover>span,.inline-link:hover>span{transform:translate(3px,-3px)}.text-link:hover>span{transform:translateY(4px)}.button:focus-visible:after{transform:translateX(140%) skewX(-15deg)}.section-heading{margin-bottom:53px}.company-visual{isolation:isolate}.company-visual:before{content:'';position:absolute;inset:30px 0 0 28px;z-index:-1;background:#e7edf5;border-radius:3px}.company-visual>img{box-shadow:0 20px 45px #102d5621}.experience-note{box-shadow:0 14px 30px #102d5617;transition:translate .5s var(--ease-out)}.company-visual:hover .experience-note{translate:0 -7px}.company-copy h2{margin-bottom:28px}.sector-photo{position:relative;overflow:hidden;border-radius:3px;box-shadow:0 24px 50px #102d5624;background:var(--paper)}.sector-photo img{height:100%;min-height:520px;transform:scale(1.055)}.sector-list article{grid-template-columns:1fr;position:relative;transition:padding .4s var(--ease-out)}.sector-list article:before{content:'';position:absolute;left:-18px;top:27px;width:3px;height:28px;background:var(--blue);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease-out)}.sector-list article:hover{padding-left:10px}.sector-list article:hover:before{transform:scaleY(1)}.sector-list article:first-child:before{top:8px}.service-grid{gap:16px;border:0;background:none;perspective:1200px}.service-card{position:relative;isolation:isolate;border:1px solid var(--line);min-height:310px;padding-top:38px;overflow:hidden;box-shadow:0 5px 15px #102d5605;transition:box-shadow .4s var(--ease-out),border-color .3s,background .3s,transform .6s var(--ease-out);transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d}.service-card:before{content:'';position:absolute;inset:0;background:radial-gradient(350px circle at var(--pointer-x,50%) var(--pointer-y,30%),#dceafcaa,transparent 65%);opacity:0;z-index:-1;transition:opacity .4s}.service-card:after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}.service-card:is(:hover,:focus-within){border-color:#9eb9db;box-shadow:0 18px 38px #102d5618;z-index:2}.service-card:is(:hover,:focus-within):before{opacity:1}.service-card:is(:hover,:focus-within):after{transform:scaleX(1)}.service-card h3{transition:color .3s,translate .4s var(--ease-out)}.service-card:hover h3{color:var(--blue);translate:0 -3px}.service-card a{padding-top:20px}.service-card a span{display:inline-block;transition:transform .3s var(--ease-out)}.service-card:hover a span{transform:translate(3px,-3px)}.client-logos img{transition:transform .4s var(--ease-out),filter .4s}.client-logos img:hover{transform:translateY(-4px)}.process-grid article{position:relative;padding-top:29px;overflow:hidden}.process-grid article:before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease-out)}.process-grid article:is(:hover,.visible):before{transform:scaleX(1)}.process-grid h3{margin-top:0}.contact-form{box-shadow:0 18px 50px #102d560a;transition:box-shadow .45s,border-color .4s}.contact-form:focus-within{border-color:#96b3d8;box-shadow:0 22px 55px #102d5614}.field{position:relative}.field label{transition:color .2s}.field:focus-within label{color:var(--blue)}select.service-selected{border-color:var(--blue);box-shadow:0 0 0 3px #195db41c;background:#f3f8ff}input,select,textarea{transition:border-color .2s,box-shadow .2s,background .2s}input:not([type=checkbox]):focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #195db412;background:#fbfdff}.consent input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.contact-phone>span{display:inline-block;transition:transform .4s var(--ease-out)}.contact-phone:hover>span{transform:translate(4px,-4px)}.floating-contact{width:58px;height:58px;padding:0;display:grid;place-items:center;border:1px solid #ffffff38;border-radius:50%;color:white;background:#16834a;bottom:27px;right:27px;box-shadow:0 8px 26px #084b3435;isolation:isolate;transition:transform .35s var(--ease-out),background .25s,box-shadow .35s}.whatsapp-icon{width:29px;height:29px;filter:brightness(0) invert(1)}.floating-contact:before,.floating-contact:after{content:'';position:absolute;inset:-1px;border:1px solid #16834a;z-index:-1;border-radius:50%;pointer-events:none;animation:contact-pulse 3.2s ease-out infinite}.floating-contact:after{animation-delay:1.6s}.floating-contact:hover{background:#116f3f;transform:translateY(-3px) scale(1.045);box-shadow:0 12px 32px #084b344d}.floating-contact:active{transform:scale(.96)}.contact-tooltip{position:absolute;right:calc(100% + 16px);background:var(--navy-dark);border-radius:4px;white-space:nowrap;padding:9px 14px;color:white;font-size:10px;font-weight:400;opacity:0;transform:translateX(5px);transition:opacity .2s,transform .3s;pointer-events:none}.floating-contact:is(:hover,:focus-visible) .contact-tooltip{opacity:1;transform:none}.back-to-top{position:fixed;bottom:101px;right:37px;width:38px;height:38px;display:grid;place-items:center;background:white;border:1px solid var(--line);border-radius:50%;z-index:14;font-size:19px;color:var(--navy);box-shadow:0 5px 18px #102d5612;opacity:0;transform:translateY(10px);visibility:hidden;transition:opacity .3s,transform .35s var(--ease-out),visibility .3s}.page-scrolled .back-to-top{opacity:1;transform:none;visibility:visible}.back-to-top:hover{transform:translateY(-3px);background:var(--paper)}dialog[open]{animation:dialog-enter .35s var(--ease-out)}dialog[open]::backdrop{animation:backdrop-enter .3s ease}.js .reveal{opacity:0;transform:none;translate:0 28px;transition:opacity .8s var(--ease-out) var(--reveal-delay,0ms),translate .9s var(--ease-out) var(--reveal-delay,0ms)}.js .reveal.visible{opacity:1;translate:0 0;transform:none}.js .service-card.reveal{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:opacity .8s var(--ease-out) var(--reveal-delay,0ms),translate .9s var(--ease-out) var(--reveal-delay,0ms),transform .45s var(--ease-out),box-shadow .4s,border-color .3s}.js .company-visual.reveal{translate:-22px 24px}.js .company-visual.reveal.visible{translate:0 0}.js .section-heading.reveal{translate:0 22px}.js .section-heading.reveal.visible{translate:0 0}.service-card.in-view{will-change:transform}.menu-button{transition:background .25s,border-color .25s}.menu-button span{transition:transform .3s var(--ease-out)}.menu-button[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
@keyframes hero-type{from{transform:translateY(115%)}to{transform:translateY(0)}}@keyframes soft-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes contact-pulse{0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(1.7);opacity:0}}@keyframes hero-depth{from{transform:translateY(0) scale(1.045)}to{transform:translateY(90px) scale(1.12)}}@keyframes photo-depth{from{transform:translateY(18px) scale(1.1)}to{transform:translateY(-18px) scale(1.1)}}@keyframes scroll-fill{to{transform:scaleX(1)}}@keyframes dialog-enter{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@supports(animation-timeline:scroll()){@media(prefers-reduced-motion:no-preference){.scroll-progress{animation:scroll-fill linear both;animation-timeline:scroll(root block)}}}
@supports(animation-timeline:view()){@media(min-width:801px) and (prefers-reduced-motion:no-preference){.hero-photo img{animation:hero-depth linear both;animation-timeline:scroll(root block);animation-range:0px 700px}.sector-photo img{animation:photo-depth linear both;animation-timeline:view(block);animation-range:entry 0% exit 100%}}}
@media(min-width:1600px){.hero{min-height:650px}.hero-content{padding-top:130px}}@media(max-width:1150px){.nav-bar nav{gap:2px}.nav-bar nav a{padding-inline:12px}.nav-bar nav a:after{left:12px;right:12px}.service-grid{gap:12px}.service-card{padding:28px 20px;min-height:320px}.hero-content{padding-top:105px}}@media(max-width:800px){:root{--header-height:76px}.nav-bar nav{position:absolute;top:75px;gap:0;perspective:none;box-shadow:0 18px 28px #081c3430}.nav-bar nav:before{display:none}.nav-bar nav.open{animation:soft-enter .3s var(--ease-out)}.nav-bar nav a{font-size:14px;padding:13px 10px}.nav-bar nav a:after{left:10px;right:auto;width:22px}.nav-bar nav a.active:after,.nav-bar nav a:hover:after{width:22px}.hero-content{padding-top:103px}.hero{min-height:570px}.hero:after{background:linear-gradient(90deg,#102d56f5,#102d56c9 55%,#102d5680),linear-gradient(0deg,#102d56b0,transparent 50%)}.sector-photo{height:420px}.sector-photo img{min-height:0;height:100%;transform:none}.sector-list article{grid-template-columns:1fr}.sector-list article:hover{padding-left:0}.sector-list article:before{display:none}.service-card{min-height:290px;padding:32px 28px}.floating-contact{width:56px;height:56px;right:22px;bottom:23px}.back-to-top{right:31px;bottom:94px}.js .company-visual.reveal{translate:0 24px}.contact-tooltip{display:none}.company-visual:before{inset:25px 0 0 22px}}@media(max-width:480px){.hero{min-height:560px}.hero-content{padding-top:78px}.hero-line>span{display:inline}.hero-line{overflow:hidden;line-height:1.18}.hero-description{margin-top:25px}.hero-actions{margin-top:29px}.service-card{min-height:250px;padding:29px 26px}.sector-photo{height:340px}.sector-list article{grid-template-columns:1fr}.service-card h3{margin-bottom:16px}.section-heading{margin-bottom:35px}.floating-contact{width:54px;height:54px;right:20px;bottom:22px}.whatsapp-icon{width:28px;height:28px}.back-to-top{right:28px;bottom:92px}.process-grid article{padding-top:24px}.company-visual:hover .experience-note{translate:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal,.js .company-visual.reveal,.js .section-heading.reveal{opacity:1;translate:none;transform:none}.hero-line>span,.hero-description,.hero-actions{opacity:1;transform:none}.service-card,.js .service-card.reveal{transform:none!important}.hero-photo img,.sector-photo img{animation:none!important;transform:none}.floating-contact:before{animation:none;border-color:#16834a30;transform:scale(1.18);opacity:1}.floating-contact:after{display:none}.scroll-progress{display:none}.button:hover,.client-logos img:hover,.company-visual:hover .experience-note{transform:none;translate:none}}

/* Selected photo series: full-width composition keeps the back emblem visible. */
.hero-photo{inset:0}.hero-photo img{object-position:50% 50%}.hero:after{background:linear-gradient(90deg,#102d56f5 0%,#102d56e8 24%,#102d56b8 43%,#102d5655 65%,#102d5608 100%)}.company-visual>img{object-position:center 40%}.sector-photo img{object-position:85% center}
@media(max-width:800px){.hero-photo img{object-position:100% center}.hero:after{background:linear-gradient(90deg,#102d56ed,#102d56c9 45%,#102d5675 100%)}.sector-photo img{object-position:78% center}}
