/* Homepage hero composition only. Foundation typography and brand colours remain unchanged. */
.ws-hero--reference{position:relative;isolation:isolate;display:block;overflow:hidden}
.ws-hero__media,.ws-hero__slide,.ws-hero__overlay{position:absolute;inset:0}
.ws-hero__media{z-index:-3}
.ws-hero__slide{opacity:0;transition:opacity 1s ease}
.ws-hero__slide.is-active{opacity:1}
.ws-hero__slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.ws-hero__slide--fallback{background:radial-gradient(circle at 78% 40%,#8c6d80 0,#495a83 26%,#10204d 58%,#061433 100%)}
.ws-hero__overlay{z-index:-2;background:linear-gradient(90deg,rgba(3,17,54,.98) 0%,rgba(6,20,59,.92) 34%,rgba(13,27,66,.72) 57%,rgba(46,25,83,.24) 82%,rgba(75,29,105,.18) 100%)}
.ws-hero--reference .ws-hero__content{position:relative;z-index:2;max-width:790px;padding-right:32px}
.ws-hero__actions{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.ws-hero__actions .ws-secondary{margin-top:0}
.ws-hero--reference .ws-hero__visual{position:absolute;z-index:2;inset:0 max(32px,calc((100vw - 1320px)/2)) 0 auto;width:min(31vw,390px);min-height:0;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:72px 0 72px;pointer-events:none}
.ws-hero--reference .ws-hero__visual blockquote{position:static;right:auto;bottom:auto;margin:0;max-width:300px;text-align:right}
.ws-hero__expertise{width:min(100%,340px);padding:1rem 1.15rem;border:1px solid rgba(255,255,255,.45);border-radius:14px;background:rgba(5,20,55,.72);box-shadow:0 18px 42px rgba(0,0,0,.22);backdrop-filter:blur(7px)}
.ws-hero__expertise strong,.ws-hero__expertise span{display:block}
.ws-hero__expertise span{margin-top:.35rem;font-size:.82rem;color:rgba(255,255,255,.84)}
.ws-hero__controls{position:absolute;z-index:3;right:max(32px,calc((100vw - 1320px)/2));bottom:20px;display:flex;align-items:center;gap:.45rem}
.ws-hero__controls button{width:38px;height:38px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(5,20,55,.72);color:#fff;font:inherit;cursor:pointer}
.ws-hero__controls button:focus-visible{outline:3px solid #d36ee9;outline-offset:3px}
.ws-hero__controls span{min-width:54px;text-align:center;font-size:.78rem}
@media(max-width:980px){.ws-hero--reference .ws-hero__content{max-width:720px}.ws-hero--reference .ws-hero__visual{top:auto;left:auto;right:28px;bottom:64px;width:300px;height:auto;padding:0}.ws-hero--reference .ws-hero__visual blockquote{display:none}.ws-hero__overlay{background:linear-gradient(90deg,rgba(3,17,54,.97),rgba(8,23,62,.86) 62%,rgba(42,25,78,.48))}}
@media(max-width:640px){.ws-hero--reference .ws-hero__content{padding-bottom:180px}.ws-hero__overlay{background:linear-gradient(180deg,rgba(3,17,54,.94),rgba(7,22,59,.84) 62%,rgba(37,23,73,.74))}.ws-hero--reference .ws-hero__visual{left:22px;right:22px;bottom:68px;width:auto;align-items:stretch}.ws-hero__expertise{width:100%}.ws-hero__controls{right:22px}}
@media(prefers-reduced-motion:reduce){.ws-hero__slide{transition:none}}

/* IMPLWEB014: proof points stay aligned as one premium footer row on desktop. */
.ws-hero--reference .ws-proof{display:grid;grid-template-columns:repeat(4,max-content);align-items:center;column-gap:1.45rem;row-gap:.8rem;width:max-content;max-width:100%;margin-top:2rem;white-space:nowrap}
.ws-hero--reference .ws-proof span{display:inline-flex;align-items:center}
@media(max-width:1120px){.ws-hero--reference .ws-proof{grid-template-columns:repeat(2,max-content);white-space:normal}}
@media(max-width:640px){.ws-hero--reference .ws-proof{grid-template-columns:1fr;width:100%;margin-top:1.6rem}}

/* IMPLWEB015: proof icons and explicit carousel controls. */
.ws-hero--reference .ws-proof__item{display:inline-flex;align-items:center;gap:.55rem}
.ws-proof__icon{flex:0 0 28px;width:28px;height:28px;background-position:center;background-repeat:no-repeat;background-size:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.18))}
.ws-proof__item--1 .ws-proof__icon{background-image:url('/images/icons/hero-practice.svg')}
.ws-proof__item--2 .ws-proof__icon{background-image:url('/images/icons/hero-languages.svg')}
.ws-proof__item--3 .ws-proof__icon{background-image:url('/images/icons/hero-company.svg')}
.ws-proof__item--4 .ws-proof__icon{background-image:url('/images/icons/hero-digital.svg')}
.ws-hero__control{display:grid;place-items:center}
.ws-hero__control>span{display:block;width:16px;height:16px;background-position:center;background-repeat:no-repeat;background-size:contain}
.ws-hero__control--prev>span{background-image:url('/images/icons/hero-arrow-left.svg')}
.ws-hero__control--next>span{background-image:url('/images/icons/hero-arrow-right.svg')}
.ws-hero__control--pause>span{background-image:url('/images/icons/hero-pause.svg')}
.ws-hero__control--pause[aria-pressed="true"]>span{background-image:url('/images/icons/hero-play.svg')}
.ws-hero__status{min-width:54px;text-align:center;font-size:.78rem}

/* IMPLWEB016: desktop hero vertical composition correction. */
@media(min-width:1121px){
  .ws-hero--reference{min-height:650px}
  .ws-hero--reference .ws-hero__content{max-width:760px;padding-top:54px;padding-bottom:118px}
  .ws-hero--reference h1{font-size:clamp(3.35rem,4.25vw,4.65rem);max-width:680px;line-height:.98;margin:.35rem 0 1.1rem}
  .ws-hero--reference .ws-hero__content>p{margin:0 0 1.15rem;max-width:650px}
  .ws-hero--reference .ws-hero__actions{margin-top:0}
  .ws-hero--reference .ws-proof{position:absolute;left:max(5vw,calc((100vw - 1320px)/2));bottom:28px;width:auto;max-width:calc(100vw - max(10vw,calc((100vw - 1320px))) - 470px);grid-template-columns:repeat(4,max-content);margin:0;column-gap:1.35rem;row-gap:.65rem}
  .ws-hero--reference .ws-proof__item{font-size:.82rem}
  .ws-hero--reference .ws-proof__item:before,.ws-hero--reference .ws-proof__icon:before{content:none!important;display:none!important}
  .ws-hero--reference .ws-hero__visual{padding:64px 0 102px}
  .ws-hero--reference .ws-hero__expertise{margin-bottom:0}
  .ws-hero--reference .ws-hero__controls{bottom:26px}
}
@media(min-width:1121px) and (max-width:1450px){
  .ws-hero--reference .ws-proof{grid-template-columns:repeat(2,max-content);max-width:600px}
  .ws-hero--reference .ws-hero__content{padding-bottom:142px}
  .ws-hero--reference h1{font-size:clamp(3.15rem,4.5vw,4.25rem);max-width:600px}
}
@media(min-width:641px) and (max-width:1120px){
  .ws-hero--reference{min-height:650px}
  .ws-hero--reference .ws-hero__content{padding-top:52px;padding-bottom:170px}
  .ws-hero--reference h1{font-size:clamp(3rem,7vw,4.3rem);max-width:650px}
  .ws-hero--reference .ws-proof{margin-top:1.6rem}
  .ws-hero--reference .ws-proof__item:before,.ws-hero--reference .ws-proof__icon:before{content:none!important;display:none!important}
}
@media(max-width:640px){
  .ws-hero--reference .ws-proof__item:before,.ws-hero--reference .ws-proof__icon:before{content:none!important;display:none!important}
}
