


@property --sm-p{syntax:"<percentage>";inherits:false;initial-value:0%}
:root{--sm-ease:cubic-bezier(.2,.7,.2,1);--sm-out:cubic-bezier(.16,1,.3,1);--sm-wipe:cubic-bezier(.7,0,.2,1);--sm-gold:#E8B023;--sm-gold-deep:#C9971F}

 
.head{position:sticky}
.head .sm-progress{position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--sm-gold);
  transform:scaleX(0);transform-origin:left center;pointer-events:none;opacity:.85}

 
.sm-on .sm-h::after{transform:scaleX(0);transform-origin:left center;transition:transform 1.2s var(--sm-ease) .7s}
.sm-on #mission .sm-h::after,.sm-on .contact .sm-h::after{transform-origin:center}
.sm-on .sm-h.sm-in::after{transform:scaleX(1)}

 
.sm-on .sm-eyebrow{color:transparent;transition:color .9s ease .55s}
.sm-on .sm-eyebrow.sm-in{color:inherit}
.sm-on .sm-eyebrow::after{transform:scaleX(0);transform-origin:left center;transition:transform 1s var(--sm-wipe) .05s}
.sm-on .sm-eyebrow.sm-in::after{transform:scaleX(1)}

 
 
.sm-line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.sm-line-in{display:block}
.sm-on #mission .sm-h .sm-line-in{transform:translateY(1.25em);transition:transform 1.4s var(--sm-out);transition-delay:calc(var(--l) * 180ms + 150ms)}
.sm-on #mission .sm-h.sm-in .sm-line-in{transform:none}
 
.sm-on #mission .sm-h.sm-in .sm-ch{animation:sm-glint 1.6s ease-in-out both;animation-delay:calc(1500ms + var(--i) * 38ms)}
@keyframes sm-glint{0%,100%{color:inherit;text-shadow:none}45%{color:var(--sm-gold-deep);text-shadow:0 0 18px rgba(232,176,35,.35)}}
 
.sm-on .sm-ink{--sm-p:0%;
  -webkit-mask-image:linear-gradient(100deg,#000 calc(var(--sm-p) - 18%),transparent var(--sm-p));
          mask-image:linear-gradient(100deg,#000 calc(var(--sm-p) - 18%),transparent var(--sm-p));
  transition:--sm-p 1.9s cubic-bezier(.4,.1,.2,1);transition-delay:calc(var(--k,0) * 180ms + 250ms)}
.sm-on .sm-ink.sm-in{--sm-p:120%}

 
.sm-on .wx-band{clip-path:inset(0 var(--sm-side,9%));background-position:center var(--sm-bgy,50%);will-change:clip-path}

 
 
.sm-on #service .sm-h{clip-path:inset(-.3em -.5em -.05em -.5em)}
.sm-on #service .sm-h .sm-ch{position:relative;top:1.15em;transition:top 1.1s var(--sm-out);transition-delay:calc(var(--i) * 90ms + 100ms)}
.sm-on #service .sm-h.sm-in .sm-ch{top:0}
 
.sm-on .service-panels::before{transform:scaleX(0);transition:transform 1.4s var(--sm-ease)}
.sm-on .service-panels:has(.sm-in)::before{transform:scaleX(1)}
 
.service-panel .sm-veil{display:none}
.sm-on .service-panel .sm-veil{display:block;position:absolute;inset:-1px;z-index:3;pointer-events:none;background:var(--sm-veil,#F6F8FC);
  clip-path:polygon(0 0,100% 0,100% 100%,-40% 100%);transition:clip-path 1.25s var(--sm-wipe);transition-delay:calc(var(--k) * 170ms + 150ms)}
.sm-on .sm-panel.sm-in .sm-veil{clip-path:polygon(140% 0,100% 0,100% 100%,100% 100%)}
.service-panel__number{display:block;overflow:hidden;padding-bottom:.08em}
.service-panel__number .sm-rise{display:inline-block}
.sm-on .sm-panel .sm-rise{transform:translateY(1.1em);transition:transform 1.1s var(--sm-out);transition-delay:calc(var(--k) * 170ms + 700ms)}
.sm-on .sm-panel.sm-in .sm-rise{transform:none}
.sm-on .sm-panel .service-panel__title,.sm-on .sm-panel .service-panel__en,.sm-on .sm-panel .service-panel__arrow,.sm-on .sm-panel .service-panel__description{
  opacity:0;transition:opacity 1s ease;transition-delay:calc(var(--k) * 170ms + 850ms)}
.sm-on .sm-panel .service-panel__en,.sm-on .sm-panel .service-panel__arrow{transition-delay:calc(var(--k) * 170ms + 1050ms)}
.sm-on .sm-panel .service-panel__description{transition-delay:calc(var(--k) * 170ms + 1200ms)}
.sm-on .sm-panel.sm-in .service-panel__title,.sm-on .sm-panel.sm-in .service-panel__en,.sm-on .sm-panel.sm-in .service-panel__arrow,.sm-on .sm-panel.sm-in .service-panel__description{opacity:1}


@property --hv-a{syntax:"<angle>";inherits:false;initial-value:0deg}
.service-panel .sm-frame{display:none}
@media(hover:hover) and (min-width:881px){
  .service-panel:hover .service-panel__arrow,.service-panel:focus-visible .service-panel__arrow{transform:translate(3px,-3px)}
  .service-panel:focus-visible{outline:0}
  .service-panel .sm-frame{display:block;position:absolute;inset:10px;z-index:2;pointer-events:none;opacity:0;transition:opacity .25s ease}
  .sm-frame::after{content:"";position:absolute;inset:0;border:1px solid rgba(232,176,35,.55)}
  .sm-frame::before{content:"";position:absolute;inset:-1px;padding:2px;opacity:0;
    background:conic-gradient(from var(--hv-a),rgba(255,236,180,0) 0deg 290deg,var(--sm-gold) 340deg,#FFF1C8 356deg,rgba(255,236,180,0) 360deg);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
  .service-panel:hover .sm-frame,.service-panel:focus-visible .sm-frame{opacity:1}
  .service-panel:hover .sm-frame::before,.service-panel:focus-visible .sm-frame::before{animation:sm-hv-run 1.1s cubic-bezier(.45,0,.3,1) .1s 1 both}
}
@keyframes sm-hv-run{0%{--hv-a:-40deg;opacity:0}12%{opacity:1}80%{opacity:1}100%{--hv-a:320deg;opacity:0}}
@media(hover:hover) and (min-width:881px) and (prefers-reduced-motion:reduce){
  .sm-frame,.sm-frame::before{transition:none!important;animation:none!important}
}

 
 
.sm-on #strength .sm-h{opacity:0;letter-spacing:.5em;transition:opacity 1.2s ease,letter-spacing 1.8s var(--sm-out)}
.sm-on #strength .sm-h.sm-in{opacity:1;letter-spacing:var(--sm-ls,normal)}
 
#strength[data-anim="cols"]{background-position:center var(--sm-bgy,50%)}
.sm-on #strength[data-anim="cols"] .st .no{display:inline-block;color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.55);
  background:linear-gradient(0deg,var(--sm-gold) var(--sm-fill,0%),rgba(232,176,35,0) var(--sm-fill,0%));
  -webkit-background-clip:text;background-clip:text}
 
.sm-on .sm-row::before{transform:scaleX(0);transform-origin:left center;transition:transform 1.3s var(--sm-ease)}
.sm-on .sm-row.sm-in::before{transform:scaleX(1)}
.sm-on .sm-row .stbody h3,.sm-on .sm-row .stbody p{opacity:0;transform:translateX(48px);transition:opacity 1s ease,transform 1.3s var(--sm-out);transition-delay:.25s}
.sm-on .sm-row .stbody p{transition-delay:.45s}
.sm-on .sm-row.sm-in .stbody h3,.sm-on .sm-row.sm-in .stbody p{opacity:1;transform:none}
@media(min-width:1320px){
  .sm-on #strength .strengths{position:relative}
  .sm-on #strength .strengths::before,.sm-on #strength .strengths::after{content:"";position:absolute;left:-40px;top:0;bottom:0;width:1px}
  .sm-on #strength .strengths::before{background:rgba(255,255,255,.16)}
  .sm-on #strength .strengths::after{background:var(--sm-gold);transform:scaleY(var(--sm-prog,0));transform-origin:top center}
}

 
 
.sm-on #consultants .sm-h .sm-ch{opacity:0;color:var(--sm-gold);
  transition:opacity .5s ease,color 1.6s ease;transition-delay:calc(var(--i) * 75ms + 100ms),calc(var(--i) * 75ms + 700ms)}
.sm-on #consultants .sm-h.sm-in .sm-ch{opacity:1;color:inherit}
 
.sm-on .sm-card .team-card__photo{clip-path:inset(0 50% 0 50%);transition:clip-path 1.4s var(--sm-wipe);transition-delay:calc(var(--k) * 200ms + 150ms)}
.sm-on .sm-card .team-card__photo img{transform:scale(1.12);transition:transform 2.2s var(--sm-ease);transition-delay:calc(var(--k) * 200ms + 150ms)}
.sm-on .sm-card.sm-in .team-card__photo{clip-path:inset(0 0 0 0)}
.sm-on .sm-card.sm-in .team-card__photo img{transform:none}
.sm-on .sm-card .team-card__role,.sm-on .sm-card .team-card__name{opacity:0;transition:opacity 1s ease;transition-delay:calc(var(--k) * 200ms + 900ms)}
.sm-on .sm-card .team-card__name{transition-delay:calc(var(--k) * 200ms + 1050ms)}
.sm-on .sm-card.sm-in .team-card__role,.sm-on .sm-card.sm-in .team-card__name{opacity:1}
.sm-on .sm-card .team-card__career{clip-path:inset(0 0 100% 0);transition:clip-path 1.6s var(--sm-ease);transition-delay:calc(var(--k) * 200ms + 1200ms)}
.sm-on .sm-card.sm-in .team-card__career{clip-path:inset(0 0 -2px 0)}
.sm-on .sm-card .team-card__tags li{opacity:0;transition:opacity .7s ease;transition-delay:calc(var(--k) * 200ms + 1700ms + var(--j) * 70ms)}
.sm-on .sm-card.sm-in .team-card__tags li{opacity:1}

 
 
 
.sm-on #works{overflow-x:clip}
.sm-on #works .sm-h{opacity:0;transform:scale(1.35);transform-origin:left bottom;transition:opacity 1s ease,transform 1.6s var(--sm-out)}
.sm-on #works .sm-h.sm-in{opacity:1;transform:none}
 
.sm-on .sm-item{opacity:0}
.sm-on .sm-item.sm-item-in{animation:sm-item 1.2s var(--sm-out) both;animation-delay:calc(var(--k) * 110ms + 60ms)}
@keyframes sm-item{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}
.sm-on .biz-card.sm-item-in .biz-card__media img,.sm-on .export-products__grid figure.sm-item-in img{animation:sm-settle 1.8s var(--sm-ease) both;animation-delay:calc(var(--k) * 110ms + 60ms)}
@keyframes sm-settle{from{transform:scale(1.08)}to{transform:none}}
.sm-on .sm-fade{opacity:0;transition:opacity 1.4s ease .3s}
.sm-on .sm-fade.sm-in{opacity:1}

 
 
.sm-on #news .sm-h{clip-path:inset(-.05em -.5em -.3em -.5em)}
.sm-drop{display:inline-block}
.sm-on #news .sm-h .sm-drop{transform:translateY(-1.2em);transition:transform 1.3s var(--sm-out) .1s}
.sm-on #news .sm-h.sm-in .sm-drop{transform:none}
 
.sm-on .sm-news{opacity:0;transform:translateY(-16px);transition:opacity .9s ease,transform 1.1s var(--sm-out);transition-delay:calc(var(--k) * 160ms)}
.sm-on .sm-news.sm-in{opacity:1;transform:none}
.sm-on .sm-news .nth{clip-path:inset(0 0 100% 0);transition:clip-path 1.2s var(--sm-wipe);transition-delay:calc(var(--k) * 160ms + 250ms)}
.sm-on .sm-news.sm-in .nth{clip-path:inset(0 0 0 0)}
#news .ni{background-image:linear-gradient(var(--line-soft,rgba(25,25,45,.12)),var(--line-soft,rgba(25,25,45,.12)));
  background-repeat:no-repeat;background-position:left bottom;background-size:100% 1px}
.sm-on #news .sm-news{background-size:0% 1px;transition-property:opacity,transform,background-size;transition-duration:.9s,1.1s,1.4s}
.sm-on #news .sm-news.sm-in{background-size:100% 1px}

 
 
.sm-on .contact .sm-h .sm-ch{opacity:0;filter:blur(4px);transition:opacity 1s ease,filter 1.1s ease;transition-delay:calc(var(--c) * 120ms + 150ms)}
.sm-on .contact .sm-h.sm-in .sm-ch{opacity:1;filter:none}
 
.sm-on .sm-left{opacity:0;transform:translateX(-18px);transition:opacity .9s ease,transform 1.1s var(--sm-out);transition-delay:calc(var(--k) * 70ms + 200ms)}
.sm-on .sm-left.sm-in{opacity:1;transform:none}
.sm-on .sm-glow{opacity:0;transition:opacity 1.1s ease;transition-delay:calc(var(--k) * 80ms + 300ms)}
.sm-on .sm-glow.sm-in{opacity:1}

 
.sm-on .sm-more{--sm-p:0%;
  -webkit-mask-image:linear-gradient(90deg,#000 calc(var(--sm-p) - 12%),transparent var(--sm-p));
          mask-image:linear-gradient(90deg,#000 calc(var(--sm-p) - 12%),transparent var(--sm-p));
  transition:--sm-p 1.1s var(--sm-ease) .35s}
.sm-on .sm-more.sm-in{--sm-p:115%}

 
#contact{position:relative;isolation:isolate;overflow:hidden}
.sm-sky{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.sm-sky i{position:absolute;display:block;border-radius:50%;filter:blur(60px);will-change:transform}
.sm-sky .s1{left:50%;top:-38vh;width:110vw;height:68vh;margin-left:-55vw;
  background:radial-gradient(closest-side,rgba(232,176,35,.30),rgba(232,176,35,.08) 55%,rgba(232,176,35,0));animation:sm-breath 9s ease-in-out infinite alternate}
.sm-sky .s2{left:-12vw;bottom:-20vh;width:62vw;height:62vw;max-height:900px;
  background:radial-gradient(closest-side,rgba(92,118,184,.30),rgba(92,118,184,0));animation:sm-drift1 26s ease-in-out infinite alternate}
.sm-sky .s3{right:-14vw;top:30%;width:52vw;height:52vw;max-height:760px;
  background:radial-gradient(closest-side,rgba(232,176,35,.12),rgba(232,176,35,0));animation:sm-drift2 31s ease-in-out infinite alternate}
 
.sm-sky .s4{left:0;top:0;width:620px;height:620px;margin:-310px 0 0 -310px;filter:none;opacity:0;transition:opacity .8s ease;
  background:radial-gradient(closest-side,rgba(232,176,35,.10),rgba(232,176,35,0));transform:translate(var(--gx,50vw),var(--gy,40vh))}
#contact.sm-hover .sm-sky .s4{opacity:1}
 
.sm-sky b{position:absolute;left:0;right:0;top:0;height:1px;display:block;
  background:linear-gradient(90deg,rgba(232,176,35,0),rgba(232,176,35,.85) 50%,rgba(232,176,35,0));transform:scaleX(1)}
.sm-on #contact .sm-sky b{transform:scaleX(0);transition:transform 2.4s var(--sm-ease) .2s}
.sm-on #contact.sm-lit .sm-sky b{transform:scaleX(1)}
.sm-on #contact .sm-sky .s1{opacity:0;transition:opacity 2.6s ease .4s}
.sm-on #contact.sm-lit .sm-sky .s1{opacity:1}
@keyframes sm-breath{from{transform:translateY(0) scale(1)}to{transform:translateY(26px) scale(1.06)}}
@keyframes sm-drift1{from{transform:translate(0,0)}to{transform:translate(90px,-60px)}}
@keyframes sm-drift2{from{transform:translate(0,0)}to{transform:translate(-80px,50px)}}
 
#contact .cform input,#contact .cform select,#contact .cform textarea{background-color:rgba(255,255,255,.04)}

 
@media(prefers-reduced-motion:reduce){
  .sm-sky i{animation:none!important}
  .sm-on .sm-ch,.sm-on .sm-ink,.sm-on .sm-item,.sm-on .sm-more,.sm-on .sm-left,.sm-on .sm-glow,.sm-on .sm-news,.sm-on .sm-veil,.sm-on .sm-fade,.sm-on .sm-h{opacity:1!important;filter:none!important;transform:none!important;animation:none!important;-webkit-mask-image:none!important;mask-image:none!important;clip-path:none!important}
}



@media(max-width:880px){
  main p,main li,main dd,main dt{text-wrap:wrap}
  .home-works-list li,.home-works-list .item p{text-wrap:balance}
}
