/* Home page — Bosevia v2 */

/* ═══ HERO CAROUSEL ═══ */
.hc{--strip:112px;position:relative;padding-bottom:clamp(2.5rem,5vw,4rem);background:linear-gradient(180deg,var(--navy-900) 0,var(--navy-900) calc(100% - 4rem),var(--bg) calc(100% - 4rem))}
.hc__stage{position:relative;overflow:hidden;height:calc(clamp(300px,40vw,560px) + var(--strip));background:var(--navy-900);outline-offset:-4px}
.hc__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateX(var(--from,0));transition:opacity .9s var(--ease),transform 1.1s var(--ease),visibility 0s .9s}
.hc__slide.is-active{opacity:1;visibility:visible;transform:none;transition:opacity .9s var(--ease),transform 1.1s var(--ease)}
.hc__slide.is-prev{transform:translateX(var(--to,0));visibility:visible}
.hc__slide>img{width:100%;height:calc(100% - var(--strip));object-fit:cover;object-position:center}
.hc__shade{position:absolute;left:0;right:0;top:0;height:calc(100% - var(--strip));pointer-events:none;background:linear-gradient(180deg,transparent 70%,rgba(0,18,46,.45))}
.hc__cap{position:absolute;z-index:2;left:0;right:0;bottom:0;height:var(--strip);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:2rem;padding:0 max(16px,calc((100vw - 1320px)/2 + 12px));padding-right:max(16px,calc((100vw - 1320px)/2 + 12px + 300px));background:linear-gradient(135deg,var(--navy-900),var(--navy-800));color:#c8d8ec}
.hc__txt{min-width:0;opacity:0;transform:translateY(12px);transition:.7s var(--ease) .25s}
.hc__cta{opacity:0;transform:translateY(12px);transition:.7s var(--ease) .35s}
.hc__slide.is-active .hc__txt,.hc__slide.is-active .hc__cta{opacity:1;transform:none}
.hc__kicker{display:block;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-400);margin-bottom:.25rem}
.hc__title{color:#fff;font-size:clamp(1.25rem,2.2vw,1.75rem);font-weight:800;margin-bottom:.25rem}
.hc__txt p{margin:0;font-size:.92rem;line-height:1.5}
.hc__cta{display:flex;flex-wrap:wrap;gap:.75rem}
.hc__cta .btn-x{padding:.75rem 1.3rem;font-size:.9rem}
.hc__ctrl{position:absolute;z-index:3;right:max(16px,calc((100vw - 1320px)/2 + 12px));bottom:calc((var(--strip) - 44px)/2);display:flex;align-items:center;gap:.75rem}
.hc__arrow{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;transition:.3s var(--ease)}
.hc__arrow:hover{background:#fff;color:var(--navy);transform:scale(1.08)}
.hc__dots{display:flex;gap:8px;align-items:center}
.hc__dots button{width:10px;height:10px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.4);cursor:pointer;transition:.3s var(--ease)}
.hc__dots button.is-active{width:32px;background:var(--orange)}
.hc__bar{position:absolute;z-index:3;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.12)}
.hc__bar span{display:block;height:100%;background:var(--grad-warm);transform:scaleX(0);transform-origin:left}
@media(max-width:1199px){.hc__txt p,.hc__cta .btn-x--light{display:none}}
@media(max-width:767px){
  .hc{--strip:196px}
  .hc__stage{height:calc(clamp(240px,62vw,380px) + var(--strip))}
  .hc__cap{padding:0 16px;align-content:center;row-gap:.9rem;grid-template-columns:1fr}
  .hc__cta .btn-x--light{display:inline-flex}
  .hc__cta .btn-x{flex:1 1 auto;justify-content:center}
  .hc__txt p{display:none}
  .hc__ctrl{left:16px;right:16px;justify-content:space-between;bottom:16px}
  .hc__cap{height:calc(var(--strip) - 60px);bottom:60px}
}
@media(prefers-reduced-motion:reduce){.hc__txt,.hc__cta{transition:none}}

/* ═══ WHO WE ARE ═══ */
.wx__media{position:relative}
.wx__media::before{content:'';position:absolute;width:55%;height:55%;left:-20px;top:-20px;border-radius:var(--r-xl);background:var(--sky-100);z-index:0}
.wx__media img{position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-xl);box-shadow:var(--sh-lg)}
.wx__float{position:absolute;z-index:2;right:-12px;bottom:32px;display:flex;align-items:center;gap:.8rem;padding:.8rem 1.2rem .8rem .8rem;background:#fff;border-radius:var(--r-md);box-shadow:var(--sh-lg)}
.wx__float .icon-x{margin:0}
.wx__float strong,.wx__val h4{font-family:var(--f-display);color:var(--ink)}
.wx__float strong{display:block;line-height:1.2}
.wx__float small{color:var(--body);font-size:.8rem}
.wx__title{font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:800;margin-bottom:1.5rem}
.wx__title em,.sx h3 em,.ctax h2 em{font-style:normal;background:var(--grad-warm);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
#whoweare p{max-width:68ch}
.wx__values{margin-top:clamp(1.75rem,3vw,2.5rem)}
.wx__values{counter-reset:wv}
.wx__val{--c:var(--navy);--c2:var(--sky);position:relative;overflow:hidden;padding:1.7rem 1.5rem 1.5rem;counter-increment:wv;text-align:left;background:linear-gradient(180deg,#fff,var(--sky-50));border-radius:22px;isolation:isolate}
.wx__values>div:nth-child(2) .wx__val{--c:var(--sky-600);--c2:var(--navy-500)}
.wx__values>div:nth-child(3) .wx__val{--c:var(--orange);--c2:var(--orange-400)}
.wx__values>div:nth-child(4) .wx__val{--c:var(--navy-500);--c2:var(--orange-400)}
.wx__val::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--c),var(--c2));transform:scaleX(.25);transform-origin:left;transition:transform .5s var(--ease)}
.wx__val::after{content:'0' counter(wv);position:absolute;right:14px;top:6px;font:800 3.4rem/1 var(--f-display);color:var(--c);opacity:.07;z-index:-1;transition:.4s var(--ease)}
.wx__val:hover::before{transform:scaleX(1)}
.wx__val:hover::after{opacity:.16;transform:translateY(4px) scale(1.06)}
.wx__val h4{font-size:1.08rem;font-weight:800;margin-bottom:.35rem}
.wx__val p{margin:0;font-size:.9rem;line-height:1.6}
.wx__val .icon-x{margin-bottom:1.1rem;width:56px;height:56px;border-radius:18px;font-size:1.3rem;color:#fff;background:linear-gradient(135deg,var(--c),var(--c2));box-shadow:0 10px 22px -6px var(--c);transition:transform .4s var(--ease)}
.wx__val:hover .icon-x{transform:rotate(-8deg) scale(1.08)}

/* ═══ SERVICES ═══ */
.sx{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1rem,2vw,1.5rem);box-shadow:var(--sh-sm);transition:.4s var(--ease)}
.sx+.sx{margin-top:2rem}
.sx:hover{box-shadow:var(--sh-lg);transform:translateY(-4px)}
.sx--rev .sx__img{order:2}
.sx__img{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3}
.sx__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.sx:hover .sx__img img{transform:scale(1.06)}
.sx__img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,18,46,.45))}
.sx__badge{position:absolute;z-index:1;left:16px;top:16px;padding:.4rem 1rem;border-radius:999px;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;backdrop-filter:blur(8px)}
.sx__badge--navy{background:rgba(0,55,123,.88)}.sx__badge--sky{background:rgba(33,150,217,.9)}.sx__badge--warm{background:rgba(255,108,0,.92)}
.sx__body{padding:.5rem clamp(.5rem,2vw,1.5rem);min-width:0}
.sx__num{display:block;font-family:var(--f-display);font-weight:800;font-size:3rem;line-height:1;margin-bottom:1rem;color:transparent;-webkit-text-stroke:1.5px var(--sky)}
.sx h3{font-size:clamp(1.35rem,2.4vw,1.85rem);font-weight:800;margin-bottom:1rem}
.sx__chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}

/* ═══ PILLARS ═══ */
.px{padding:0;overflow:hidden;display:flex;flex-direction:column}
.px__img{position:relative;aspect-ratio:16/10;overflow:hidden}
.px__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.px:hover .px__img img{transform:scale(1.07)}
.px__img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,18,46,.5))}
.px__icon{position:absolute;z-index:1;left:24px;bottom:-1px;width:56px;height:56px;border-radius:16px 16px 0 0;display:grid;place-items:center;background:#fff;color:var(--orange);font-size:1.3rem}
.px__body{position:relative;padding:1.5rem 1.8rem 2rem;flex:1}
.px__num{position:absolute;right:1.8rem;top:1rem;font-family:var(--f-display);font-weight:800;font-size:2.6rem;line-height:1;color:var(--sky-100)}
.px__body h3{font-size:1.25rem;font-weight:800;margin:.5rem 3.5rem 1rem 0}
.px__body p{margin:0;font-size:.94rem}

/* ═══ INDUSTRIES ═══ */
#industries::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(700px 320px at 80% 0,rgba(97,185,240,.18),transparent 60%),radial-gradient(500px 300px at 10% 100%,rgba(255,108,0,.14),transparent 60%)}
#industries .container{position:relative}
.ix{list-style:none;margin:0 auto;padding:0;max-width:960px;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}
.ix li{display:inline-flex;align-items:center;gap:.8rem;padding:.9rem 1.4rem;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#e3edf9;font-weight:600;font-size:.95rem;transition:.3s var(--ease)}
.ix li i{color:var(--orange-400);width:1.1em;text-align:center}
.ix li:hover{background:#fff;color:var(--navy);transform:translateY(-4px)}

/* ═══ TEAM ═══ */
.tx{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:3/4;background:var(--navy-900);box-shadow:var(--sh-sm);transition:.4s var(--ease)}
.tx:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.tx img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .8s var(--ease)}
.tx:hover img{transform:scale(1.05)}
.tx__info{position:absolute;left:0;right:0;bottom:0;padding:3rem 1.1rem 1.1rem;background:linear-gradient(180deg,transparent,rgba(0,18,46,.92))}
.tx__info h3{color:#fff;font-size:1.05rem;font-weight:700;margin-bottom:.15rem}
.tx__info p{margin:0;color:#c8d8ec;font-size:.82rem;line-height:1.4}

/* ═══ CTA ═══ */
.ctax{position:relative;overflow:hidden;display:grid;grid-template-columns:1.2fr 1fr;align-items:stretch;border-radius:var(--r-xl);background:var(--grad-brand);box-shadow:var(--sh-lg)}
.ctax::before{content:'';position:absolute;width:480px;height:480px;left:-140px;bottom:-240px;border-radius:50%;background:radial-gradient(circle,rgba(255,146,64,.4),transparent 65%)}
.ctax__copy{position:relative;padding:clamp(2rem,5vw,4rem);align-self:center}
.ctax h2{color:#fff;font-size:clamp(1.8rem,3.4vw,2.7rem);font-weight:800;margin-bottom:1rem}
.ctax h2 em{background:linear-gradient(90deg,#9ad6f8,#FF9240);-webkit-background-clip:text;background-clip:text}
.ctax p{color:#cfe2f7;max-width:46ch;margin-bottom:1.75rem}
.ctax__img{position:relative;min-height:260px}
.ctax__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ctax__img::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0a4fa3,rgba(10,79,163,.2) 45%,transparent)}

/* ═══ RESPONSIVE ═══ */
@media(max-width:991px){
  .wx__media{max-width:480px;margin:0 auto}
  .wx__media img{aspect-ratio:4/3}
  .wx__float{right:12px}
  .sx{grid-template-columns:1fr}
  .sx--rev .sx__img{order:0}
  .ctax{grid-template-columns:1fr}
  .ctax__img{min-height:220px;order:-1}
  .ctax__img::after{background:linear-gradient(180deg,transparent 40%,#0a4fa3)}
}
@media(max-width:575px){
  .wx__media::before{display:none}
  .sx__num{font-size:2.4rem}
  .ix{gap:.6rem}
  .ix li{padding:.65rem 1rem;font-size:.85rem}
  .tx__info{padding:2rem .8rem .8rem}
  .tx__info h3{font-size:.92rem}
  .tx__info p{font-size:.74rem}
  .section-head .btn-x{width:100%;justify-content:center}
}
