/* ============================================================
   EVOTEQ — Home page sections
   1 Hero (fixed-bg parallax video)
   2 Your trusted partner  ── horizontal-scroll ──  3 Beyond Software
   ============================================================ */

/* ---------- HERO (animated brand pattern background) ---------- */
/* hero stays pinned while the sections below slide up over it */
.ev-hero{position:sticky;top:0;z-index:0;min-height:80vh;display:flex;align-items:center;overflow:hidden;
  background:radial-gradient(120% 120% at 20% 20%,var(--red-deep) 0%,var(--red-deepest) 62%,#200310 100%);}
.ev-main>*:not(.ev-hero){position:relative;z-index:1;}

/* Animated pattern — replaces the old 26MB 4K video (parts/hero-pattern.php).
   Two rotating layers on purpose: __base never changes, so it rasterises once and its
   rotation is a pure composited transform; __move repaints but paints few pixels.
   Both share one @keyframes on one timeline, so they cannot drift apart.
   No filter: drop-shadow — a per-path filter graph was the original source of jank;
   the halo is just a wider, low-opacity stroke riding the same dash geometry. */
.ev-heropat{position:absolute;inset:0;z-index:0;overflow:hidden;
  --ev-rot:210s; --ev-scale:1.45;
  --ev-rose:#f4b9c7; --ev-pink:#da3960;
  --ev-base-op:.13; --ev-glow-op:1; --ev-halo-op:.34;
  --ev-sw-base:1.4; --ev-sw-glow:3.5; --ev-sw-halo:7;}
.ev-heropat__rot{position:absolute;top:50%;left:50%;width:min(190vh,190vw);height:min(190vh,190vw);
  transform-origin:50% 50%;animation:ev-patspin var(--ev-rot) linear infinite;
  will-change:transform;backface-visibility:hidden;}
@keyframes ev-patspin{
  from{transform:translate(-50%,-50%) rotate(0deg)   scale(var(--ev-scale));}
  to  {transform:translate(-50%,-50%) rotate(360deg) scale(var(--ev-scale));}
}
.ev-heropat svg{display:block;width:100%;height:100%;overflow:visible;}
.ev-heropat path{fill:none;stroke-linecap:round;stroke-linejoin:round;}
/* resting contours */
.ev-heropat__base path{stroke:var(--ev-rose);stroke-opacity:var(--ev-base-op);stroke-width:var(--ev-sw-base);}
.ev-heropat__base path.t{stroke-width:calc(var(--ev-sw-base)*0.62);}
/* travelling segment + its halo — stroke-dasharray/offset are set by main.js */
.ev-heropat__dash path{stroke:var(--ev-pink);stroke-opacity:var(--ev-glow-op);stroke-width:var(--ev-sw-glow);}
.ev-heropat__dash path.t{stroke-width:calc(var(--ev-sw-glow)*0.72);}
.ev-heropat__halo path{stroke:var(--ev-pink);stroke-opacity:var(--ev-halo-op);stroke-width:var(--ev-sw-halo);}
/* main.js pauses the whole thing while the hero is off-screen */
.ev-heropat.is-paused .ev-heropat__rot{animation-play-state:paused;}
@media (prefers-reduced-motion:reduce){.ev-heropat__rot{animation:none;}}

/* First layer = a flat burgundy wash over the whole frame; the directional gradient
   below it still darkens the copy side. Overall strength tuned to .90. */
.ev-hero__scrim{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;opacity:.9;background:linear-gradient(rgba(95,15,38,.28),rgba(95,15,38,.28)),linear-gradient(90deg,rgba(54,7,26,.82) 0%,rgba(54,7,26,.55) 45%,rgba(54,7,26,.22) 80%,rgba(54,7,26,.05) 100%);}
.ev-hero__wrap{position:relative;z-index:1;width:100%;}
.ev-hero__inner{max-width:820px;}
.ev-hero__dot{width:16px;height:16px;border-radius:50%;background:var(--red-bright);opacity:.9;margin-bottom:26px;}
.ev-hero__title{color:#fff;font-weight:500;font-size:clamp(24px,3.4vw,44px);line-height:1.18;letter-spacing:-0.01em;margin:0 0 36px;}

@media (max-width:768px){
  .ev-hero{min-height:60vh;}
  .ev-hero__scrim{background:linear-gradient(rgba(95,15,38,.28),rgba(95,15,38,.28)),linear-gradient(180deg,rgba(54,7,26,.5) 0%,rgba(54,7,26,.85) 100%);}
}

/* ---------- HORIZONTAL-SCROLL PIN (§3 slides over §2 from the right) ---------- */
.ev-hpin{position:relative;height:300vh;}
.ev-hpin__viewport{position:sticky;top:0;height:100vh;overflow:hidden;}
.ev-hpanel{position:absolute;inset:0;overflow:hidden;}
/* top padding so the section pill clears the sticky header */
.ev-hpanel>.ev-part,.ev-hpanel>.ev-purpose{height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:calc(var(--header-h) + clamp(14px,2.4vh,40px));}
.ev-hpanel--base{z-index:1;}
.ev-hpanel--over{z-index:2;transform:translateX(100%);will-change:transform;box-shadow:-40px 0 80px -30px rgba(20,3,10,.6);}

/* ---------- §2 — YOUR TRUSTED PARTNER ---------- */
.ev-part{width:100%;background:var(--cream);}
.ev-part__head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:clamp(26px,3vw,44px);}
.ev-part__title{font-size:clamp(30px,3.9vw,54px);font-weight:600;line-height:1.08;max-width:16ch;margin:0;color:var(--red-deep);}
.ev-part__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.4vw,20px);}
.ev-pillar{position:relative;isolation:isolate;border-radius:18px 18px 18px 36px;padding:clamp(28px,2.6vw,40px);min-height:clamp(320px,33vw,450px);display:flex;flex-direction:column;overflow:hidden;}
/* topo = a contained square at the TOP; fixed gap below it so every title aligns on the same row */
.ev-pillar__topo{width:clamp(84px,40%,144px);height:auto;aspect-ratio:1;object-fit:cover;border-radius:10px;margin-bottom:clamp(24px,4vw,44px);}
.ev-pillar h3{position:relative;z-index:1;font-family:var(--fh);font-weight:600;font-size:clamp(20px,1.65vw,27px);line-height:1.2;margin:0 0 12px;}
.ev-pillar p{position:relative;z-index:1;font-size:clamp(15px,1.15vw,18px);line-height:1.55;margin:0;}
.ev-pillar--dark{background:var(--red-deep);}
.ev-pillar--dark h3{color:#fff;}
.ev-pillar--dark p{color:rgba(255,255,255,.82);}
.ev-pillar--dark .ev-pillar__topo{opacity:1;}
/* light cards: no white box, no border, no shadow — just the elements on the cream bg */
.ev-pillar--light{background:transparent;border:0;}
.ev-pillar--light h3{color:var(--red-deep);}
.ev-pillar--light p{color:var(--grey);}
.ev-pillar--light .ev-pillar__topo{opacity:.85;}

/* ---------- §3 — BEYOND SOFTWARE ---------- */
.ev-purpose{position:relative;isolation:isolate;width:100%;overflow:hidden;background:var(--red-deep) url(../img/topo-bg.png) center/cover no-repeat;}
.ev-purpose>.ev-container{position:relative;z-index:1;}
.ev-purpose__title{color:#fff;font-size:clamp(38px,4.8vw,66px);line-height:1.05;max-width:20ch;margin:0 0 22px;}
.ev-purpose__lead{color:rgba(255,255,255,.82);max-width:760px;font-size:clamp(18px,1.5vw,23px);margin:0 0 clamp(30px,4vw,48px);}
.ev-purpose__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,2.6vw,38px);}
.ev-mv{border:1px solid rgba(255,255,255,.20);border-radius:18px;padding:clamp(34px,3.6vw,58px);background:rgba(255,255,255,.04);}
.ev-mv h3{color:#fff;font-size:clamp(30px,2.9vw,42px);margin:0 0 16px;}
.ev-mv p.ev-mv__sub{font-family:var(--fh);font-weight:600;font-size:clamp(18px,1.4vw,23px);color:var(--red-bright);margin:0 0 22px;}
.ev-mv p{font-size:clamp(17px,1.3vw,21px);line-height:1.7;margin:0;color:rgba(255,255,255,.82);}

/* ---------- responsive: unpin, stack §2/§3 ---------- */
@media (max-width:960px){
  .ev-hpin{height:auto!important;}
  .ev-hpin__viewport{position:static;height:auto;overflow:visible;}
  .ev-hpanel{position:static;inset:auto;height:auto;overflow:visible;transform:none!important;box-shadow:none;}
  .ev-hpanel>.ev-part,.ev-hpanel>.ev-purpose{height:auto;display:block;}
  .ev-part,.ev-purpose{padding-block:clamp(56px,10vw,90px);}
  .ev-part__grid{grid-template-columns:1fr 1fr;}
  .ev-purpose__grid{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .ev-part__grid{grid-template-columns:1fr;}
  .ev-part__head{flex-direction:column;}
  .ev-part__head .ev-btn{align-self:flex-start;}
}

/* ---------- pinned §2/§3 must FIT the viewport HEIGHT (never clip at the bottom).
   While pinned (>960px) give symmetric top/bottom breathing room and scale the
   content down on shorter screens so the Mission/Vision cards stay fully visible ---------- */
@media (min-width:961px){
  .ev-hpanel>.ev-part,.ev-hpanel>.ev-purpose{
    padding-top:calc(var(--header-h) + clamp(10px,2.2vh,34px));
    padding-bottom:clamp(10px,2.2vh,34px);
    justify-content:center;
  }
}
/* shorter screens: only a GENTLE trim so §2/§3 stay big but still clear the fold */
@media (min-width:961px) and (max-height:900px){
  /* the pinned §2 pillars can't demand a tall fixed height inside a short 100vh */
  .ev-hpanel .ev-pillar{min-height:0;padding:clamp(24px,2.2vw,34px);}
  .ev-purpose__title{font-size:clamp(34px,4.2vw,54px);margin-bottom:16px;}
  .ev-purpose__lead{font-size:clamp(17px,1.35vw,21px);margin-bottom:clamp(20px,2.4vh,32px);}
  .ev-purpose__grid{gap:clamp(20px,2.2vw,32px);}
  .ev-mv{padding:clamp(28px,3vh,46px);}
  .ev-mv h3{font-size:clamp(27px,2.5vw,37px);margin-bottom:12px;}
  .ev-mv p.ev-mv__sub{font-size:clamp(17px,1.25vw,21px);margin-bottom:14px;}
  .ev-mv p{font-size:clamp(16px,1.2vw,19px);line-height:1.6;}
  .ev-part__title{font-size:clamp(28px,3.4vw,46px);}
  .ev-pillar__topo{margin-bottom:clamp(18px,2.6vh,32px);width:clamp(72px,34%,120px);}
  .ev-pillar h3{font-size:clamp(19px,1.5vw,24px);margin-bottom:10px;}
  .ev-pillar p{font-size:clamp(14px,1.05vw,16px);line-height:1.5;}
}
@media (min-width:961px) and (max-height:780px){
  .ev-purpose__title{font-size:clamp(28px,3.4vw,44px);line-height:1.04;margin-bottom:12px;}
  .ev-purpose__lead{font-size:clamp(15px,1.2vw,18px);margin-bottom:18px;}
  .ev-mv{padding:clamp(22px,2.4vh,34px);}
  .ev-mv h3{font-size:clamp(24px,2.2vw,32px);margin-bottom:10px;}
  .ev-mv p.ev-mv__sub{font-size:clamp(16px,1.1vw,19px);margin-bottom:10px;}
  .ev-mv p{font-size:clamp(15px,1.05vw,17px);line-height:1.5;}
  .ev-part__title{font-size:clamp(26px,2.9vw,38px);}
  .ev-pillar__topo{width:clamp(60px,26%,96px);margin-bottom:clamp(14px,2vh,24px);}
  .ev-pillar h3{font-size:clamp(18px,1.35vw,21px);}
  .ev-pillar p{font-size:clamp(13px,.95vw,15px);line-height:1.45;}
}

/* ============================================================
   §4 — traq PLATFORM (pill tabs → colored box + topo)
   ============================================================ */
.ev-traq{background:var(--cream);overflow:hidden;}
.ev-traq__head{max-width:640px;margin-bottom:clamp(30px,3.4vw,44px);}
.ev-traq__title{font-size:clamp(28px,3.4vw,46px);font-weight:600;line-height:1.08;color:var(--red-deep);margin:0 0 16px;}
.ev-traq__lead{color:var(--grey);font-size:clamp(16px,1.3vw,19px);line-height:1.65;margin:0;}

/* tab row */
.ev-traq__tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:clamp(22px,2.6vw,34px);}
.ev-traqtab{font-family:var(--fh);font-weight:700;font-size:clamp(17px,1.4vw,20px);padding:16px 34px;border-radius:999px;background:#fff;border:1px solid var(--light-grey);color:var(--red-deep);transition:background .3s var(--ease),color .3s ease,border-color .3s ease,transform .3s ease;line-height:1;}
.ev-traqtab b{font-weight:700;color:inherit;}
.ev-traqtab:hover{transform:translateY(-2px);border-color:var(--rose);}
.ev-traqtab.is-active{background:var(--red-deep);border-color:var(--red-deep);color:#fff;}
.ev-traqtab.is-active b{color:#fff;}
/* active tab stays burgundy — only traqpharma keeps its turquoise */
.ev-traqtab.is-active[data-traq="pharma"]{background:#33AD9E;border-color:#33AD9E;}

/* stage holds all 5 panels stacked; active one drives height */
.ev-traq__stage{position:relative;min-height:clamp(300px,34vw,360px);}
.ev-traqpanel{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(20px,3vw,48px);align-items:stretch;opacity:0;visibility:hidden;pointer-events:none;}
.ev-traqpanel.is-active{position:relative;opacity:1;visibility:visible;pointer-events:auto;transition:opacity .5s var(--ease);}

/* the colored box (slides in from LEFT) */
.ev-traqpanel__box{position:relative;overflow:hidden;border-radius:22px;padding:clamp(26px,2.6vw,40px);color:#fff;display:flex;flex-direction:column;justify-content:center;background:var(--vc);box-shadow:0 30px 60px -34px rgba(20,3,10,.5);transform:translateX(-48px);opacity:0;transition:transform .6s var(--ease),opacity .6s var(--ease);}
.ev-traqpanel.is-active .ev-traqpanel__box{transform:none;opacity:1;}
.ev-traqpanel__logo{font-family:var(--fh);font-weight:600;font-size:clamp(28px,3vw,42px);line-height:1;letter-spacing:-.02em;margin-bottom:16px;color:#fff;}
.ev-traqpanel__logo span{color:var(--vc-t);}
.ev-traqpanel__sector{font-family:var(--fh);font-weight:600;font-size:clamp(16px,1.3vw,20px);color:var(--vc-t);margin:0 0 18px;}
.ev-traqpanel__desc{font-size:clamp(14px,1.05vw,16px);line-height:1.6;color:rgba(255,255,255,.92);max-width:none;margin:0 0 clamp(20px,2vw,28px);}
.ev-traqpanel__desc strong{font-weight:700;color:#fff;}
.ev-traqpanel__cta{display:inline-flex;align-items:center;gap:0;font-family:var(--fh);font-weight:600;font-size:14px;}
.ev-traqpanel__cta .lbl{display:inline-flex;align-items:center;height:50px;padding:0 26px;border-radius:999px;background:var(--vc-t);color:#fff;transition:transform .35s ease;}
.ev-traqpanel__cta .ic{width:50px;height:50px;border-radius:50%;background:var(--vc-t);color:#fff;display:inline-flex;align-items:center;justify-content:center;transition:transform .35s ease;}
.ev-traqpanel__cta .ic svg{width:15px;height:15px;}
.ev-traqpanel__cta:hover .ic{transform:translate(2px,-2px);}

/* the topo pattern (slides in from RIGHT) — per-vertical coloured artwork.
   URL lives in this stylesheet so it resolves correctly (../img is relative to /assets/css/) */
.ev-traqpanel__topo{min-height:clamp(240px,26vw,340px);border-radius:22px;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;transform:translateX(48px);transition:transform .6s var(--ease) .05s,opacity .6s var(--ease) .05s;}
.ev-traqpanel[data-traq="pharma"] .ev-traqpanel__topo{background-image:url(../img/traq/pharma.webp);}
.ev-traqpanel[data-traq="logistics"] .ev-traqpanel__topo{background-image:url(../img/traq/talent.png);}
.ev-traqpanel[data-traq="luxury"] .ev-traqpanel__topo{background-image:url(../img/traq/talent.png);}
.ev-traqpanel[data-traq="food"] .ev-traqpanel__topo{background-image:url(../img/traq/talent.png);}
.ev-traqpanel[data-traq="auto"] .ev-traqpanel__topo{background-image:url(../img/traq/talent.png);}
.ev-traqpanel[data-traq="talent"] .ev-traqpanel__topo{background-image:url(../img/traq/talent.png);}
.ev-traqpanel.is-active .ev-traqpanel__topo{opacity:.95;transform:none;}

@media (max-width:820px){
  .ev-traqpanel{grid-template-columns:1fr;gap:20px;}
  .ev-traqpanel__topo{display:none;}
  .ev-traq__stage{min-height:0;}
}
@media (max-width:560px){
  .ev-traqtab{padding:10px 16px;font-size:13.5px;}
}

/* ============================================================
   §5 — OUR PROJECTS (auto carousel)
   ============================================================ */
.ev-projects{background:var(--cream);overflow:hidden;}
.ev-projects__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(28px,3.4vw,46px);}
.ev-projects__title{font-size:clamp(28px,3.4vw,46px);font-weight:600;line-height:1.08;color:var(--red-deep);margin:0;max-width:16ch;}
.ev-projects__viewport{position:relative;}
.ev-projects__win{overflow:hidden;}
/* shift the track left by one card's inner padding so each card's TEXT lines up with the title */
.ev-projects__track{display:flex;will-change:transform;transition:transform .6s var(--ease);align-items:stretch;margin-left:calc(-1 * clamp(24px,2.4vw,40px));}
/* logical border: in RTL the first card is the RIGHTmost, so a physical border-left
   would drop the divider next to it and leave a stray one on the far edge */
.ev-proj{flex:0 0 33.3333%;max-width:33.3333%;padding:6px clamp(24px,2.4vw,40px);border-inline-start:1px solid var(--red-bright);display:flex;flex-direction:column;}
.ev-proj:first-child{border-inline-start:0;}
.ev-proj__title{font-family:var(--fh);font-weight:600;font-size:clamp(24px,2vw,30px);color:var(--red-bright);margin:0 0 10px;}
.ev-proj__client{font-size:18px;color:var(--red-bright);margin:0 0 28px;}
.ev-proj__desc{font-size:clamp(17px,1.2vw,19px);line-height:1.6;color:var(--charcoal);margin:0 0 clamp(20px,2vw,28px);}
.ev-proj__cta{display:inline-flex;align-self:flex-start;margin-top:auto;align-items:center;gap:0;font-family:var(--fh);font-weight:600;font-size:14px;}
.ev-proj__cta .lbl{display:inline-flex;align-items:center;height:48px;padding:0 24px;border-radius:999px;background:var(--red-deep);color:#fff;transition:background .3s ease;}
.ev-proj__cta .ic{width:48px;height:48px;border-radius:50%;background:var(--red-deep);color:#fff;display:inline-flex;align-items:center;justify-content:center;transition:background .3s ease,transform .35s ease;}
.ev-proj__cta .ic svg{width:15px;height:15px;}
.ev-proj__cta:hover .lbl,.ev-proj__cta:hover .ic{background:var(--red-bright);}
.ev-proj__cta:hover .ic{transform:translate(2px,-2px);}

/* prev / next arrows removed */
.ev-projects__nav{display:none !important;}
.ev-projects__nav--legacy{position:absolute;top:50%;width:38px;height:38px;border-radius:50%;background:var(--rose);color:var(--red-deep);border:0;place-items:center;transform:translateY(-50%);transition:background .3s ease,transform .3s ease;z-index:2;}
.ev-projects__nav svg{width:16px;height:16px;}
.ev-projects__nav:hover{background:var(--red-bright);color:#fff;}
.ev-projects__nav--prev{left:0;}
.ev-projects__nav--next{right:0;}

/* dots */
.ev-projects__dots{display:flex;justify-content:center;gap:9px;margin-top:clamp(24px,3vw,38px);}
.ev-projects__dots button{width:9px;height:9px;padding:0;border-radius:50%;border:0;background:var(--rose);opacity:.5;transition:opacity .3s ease,transform .3s ease,background .3s ease;}
.ev-projects__dots button.is-active{opacity:1;background:var(--red-bright);transform:scale(1.25);}

@media (max-width:900px){
  .ev-proj{flex-basis:50%;max-width:50%;}
}
@media (max-width:600px){
  .ev-proj{flex-basis:100%;max-width:100%;border-inline-start:0;}
  .ev-projects__head{flex-direction:column;align-items:flex-start;}
  .ev-projects__nav{display:none;}
}

/* ============================================================
   §6 — NEWSROOM (latest posts, burgundy)
   ============================================================ */
.ev-news{position:relative;overflow:hidden;background:var(--red-deepest) url(../img/topo-bg.png) center/cover no-repeat;background-attachment:fixed;}
@media (max-width:768px){.ev-news{background-attachment:fixed;background-size:100% auto;background-repeat:repeat;}}
.ev-news__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(30px,3.4vw,46px);}
.ev-news__title{color:#fff;font-size:clamp(28px,3.4vw,46px);font-weight:600;line-height:1.08;margin:0;max-width:18ch;}
.ev-news__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,28px);}
/* white by default → burgundy (current look) on hover */
.ev-newscard{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:22px;padding:14px;transition:transform .45s var(--ease),box-shadow .45s ease,background .45s ease;}
/* whole card is one click target — the title link stretches to cover it */
.ev-newscard__title a::after{content:"";position:absolute;inset:0;z-index:3;border-radius:22px;}
.ev-newscard:hover{background:var(--red-deeper);transform:translateY(-8px);box-shadow:0 34px 64px -36px rgba(0,0,0,.55);}
.ev-newscard__media{display:block;aspect-ratio:16/11;overflow:hidden;border-radius:14px;background:var(--red-deepest);}
.ev-newscard__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.ev-newscard:hover .ev-newscard__media img{transform:scale(1.05);}
.ev-newscard__foot{display:flex;align-items:center;gap:16px;padding:22px 8px 8px;}
.ev-newscard__title{flex:1;font-family:var(--fh);font-weight:600;font-size:clamp(17px,1.4vw,22px);line-height:1.25;margin:0;}
.ev-newscard__title a{color:var(--red-deep);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px;transition:color .3s ease;}
.ev-newscard:hover .ev-newscard__title a{color:#fff;}
.ev-newscard__nav{display:flex;align-items:center;gap:12px;flex:0 0 auto;}
.ev-newscard__nav .dot{width:14px;height:14px;border-radius:50%;background:rgba(95,15,38,.14);transition:background .3s ease;}
.ev-newscard:hover .ev-newscard__nav .dot{background:rgba(255,255,255,.22);}
.ev-newscard__nav .go{width:52px;height:52px;border-radius:50%;background:transparent;color:var(--red-deep);display:grid;place-items:center;transition:background .3s ease,color .3s ease,transform .35s ease;}
.ev-newscard:hover .ev-newscard__nav .go{background:var(--red-bright);color:#fff;}
.ev-newscard__nav .go:hover{transform:translate(2px,-2px);}
.ev-newscard__nav .go svg{width:18px;height:18px;}

@media (max-width:860px){.ev-news__grid{grid-template-columns:1fr 1fr;}.ev-news__grid>:last-child{grid-column:1/-1;}}
@media (max-width:560px){.ev-news__grid{grid-template-columns:1fr;}.ev-news__grid>:last-child{grid-column:auto;}.ev-news__head{flex-direction:column;align-items:flex-start;}}

/* ---- Newsroom PAGE (archive) — light background, homepage cards ---- */
.ev-newsarchive{background:var(--cream);}
.ev-newsarchive__head{max-width:760px;margin-bottom:clamp(30px,3.6vw,50px);}
.ev-newsarchive__title{color:var(--red-deep);font-size:clamp(30px,3.6vw,50px);font-weight:600;line-height:1.08;margin:0;}
.ev-newsarchive__grid{grid-template-columns:repeat(3,1fr);}
.ev-newsarchive__grid>:last-child{grid-column:auto;} /* override the homepage 3-card rule */
.ev-newscard--light{border:1px solid var(--light-grey);box-shadow:0 22px 54px -36px rgba(95,15,38,.28);}
.ev-newsarchive__pager{margin-top:clamp(34px,4vw,56px);}
.ev-newsarchive__pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;margin:0 4px;border-radius:999px;font-family:var(--fh);font-weight:600;font-size:15px;color:var(--red-deep);background:#fff;border:1px solid var(--light-grey);transition:background .25s ease,color .25s ease;}
.ev-newsarchive__pager .page-numbers.current{background:var(--red-deep);color:#fff;border-color:var(--red-deep);}
.ev-newsarchive__pager a.page-numbers:hover{background:var(--red-bright);color:#fff;border-color:var(--red-bright);}
.ev-newsarchive__pager .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;}
.ev-newsarchive__empty{font-size:18px;color:var(--grey);}
@media (max-width:860px){.ev-newsarchive__grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.ev-newsarchive__grid{grid-template-columns:1fr;}}

/* ============================================================
   §7 — OUR CLIENTS (auto-scroll marquee)
   ============================================================ */
.ev-clients{background:var(--cream);overflow:hidden;}
.ev-clients__title{font-size:clamp(30px,3.6vw,50px);font-weight:600;line-height:1.1;color:var(--red-deep);margin:0 0 clamp(34px,4vw,56px);max-width:26ch;}
/* contained, stepped one-by-one rotation */
.ev-clients__viewport{overflow:hidden;}
.ev-clients__track{display:flex;transition:transform .7s var(--ease);}
.ev-clients__item{flex:0 0 20%;display:flex;align-items:center;justify-content:center;padding:0 clamp(14px,2vw,30px);}
.ev-clients__item img{height:clamp(64px,9vw,120px);width:auto;max-width:100%;object-fit:contain;opacity:.95;transition:opacity .3s ease,transform .3s ease;}
.ev-clients__item img:hover{opacity:1;transform:scale(1.06);}
@media (max-width:900px){.ev-clients__item{flex-basis:33.3333%;}}
@media (max-width:560px){.ev-clients__item{flex-basis:50%;}}

/* ============================================================
   §8 + §9 share ONE fixed topo background (3-3-1.png) that stays
   put while the CTA card and the form scroll over it
   ============================================================ */
.ev-crimsonbg{position:relative;background:var(--red-deepest) url(../img/topo-bg.png) center/cover no-repeat;background-attachment:fixed;}
@media (max-width:768px){.ev-crimsonbg{background-attachment:fixed;background-size:100% auto;background-repeat:repeat;}}

/* §8 — YOU'LL KNOW WHAT (CTA card) */
.ev-know{position:relative;overflow:hidden;background:transparent;padding-bottom:clamp(20px,2.4vw,34px);}
.ev-know__card{position:relative;background:var(--cream);border-radius:26px;max-width:1000px;padding:clamp(34px,4vw,60px);box-shadow:0 40px 80px -44px rgba(0,0,0,.6);}
.ev-know__mark{position:absolute;top:clamp(24px,3vw,38px);right:clamp(24px,3vw,38px);width:56px;height:56px;display:grid;place-items:center;}
.ev-know__mark img{width:56px;height:56px;object-fit:contain;}
.ev-know__title{font-size:clamp(30px,3.6vw,50px);font-weight:600;line-height:1.4;color:var(--red-deep);margin:0 0 22px;max-width:none;}
.ev-know__title .hl{background:linear-gradient(var(--red-bright),var(--red-bright)) left center/0% 100% no-repeat;color:var(--red-deep);padding:4px 14px;border-radius:10px;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
@keyframes ev-hl-sweep{0%{background-size:0% 100%;color:var(--red-deep);}100%{background-size:100% 100%;color:#fff;}}
.ev-know__title .hl.is-hl{animation:ev-hl-sweep 1.7s cubic-bezier(.55,0,.2,1) forwards;}
@media (prefers-reduced-motion:reduce){.ev-know__title .hl{background-size:100% 100%;color:#fff;}.ev-know__title .hl.is-hl{animation:none;}}
.ev-know__lead{color:var(--grey);font-size:clamp(16px,1.2vw,18px);line-height:1.6;max-width:none;margin:22px 0 clamp(24px,2.8vw,32px);}

/* ============================================================
   §9 — GET IN TOUCH (globe + form)
   ============================================================ */
.ev-contact{background:transparent;position:relative;overflow:hidden;padding-top:clamp(0px,1vw,14px);padding-bottom:clamp(64px,10vw,130px);}
.ev-contact__grid{position:relative;display:grid;grid-template-columns:1.08fr 1fr;gap:0;align-items:center;max-width:1200px;margin-inline:auto;}
/* map + call line share ONE borderless burgundy box that overlaps the form on its right */
.ev-contact__left{position:relative;z-index:2;background:linear-gradient(180deg,#73172f 0%,#5f0f26 100%);border:1px solid rgba(244,185,199,.18);border-radius:26px;padding:clamp(20px,2.4vw,32px);display:flex;flex-direction:column;gap:clamp(16px,2vw,26px);margin-right:clamp(-110px,-6vw,-40px);box-shadow:0 40px 80px -44px rgba(0,0,0,.55);}
.ev-map{position:relative;width:100%;border-radius:16px;overflow:hidden;}
.ev-map__img{width:100%;display:block;}
.ev-map__spot{position:absolute;transform:translate(-50%,-50%);width:15px;height:15px;padding:0;border:0;border-radius:50%;background:#141013;box-shadow:0 0 0 3px rgba(255,255,255,.3);}
.ev-map__spot::after{content:"";position:absolute;inset:0;border-radius:50%;background:#141013;animation:ev-ping 2.2s cubic-bezier(0,0,.2,1) infinite;}
.ev-map__label{position:absolute;left:50%;bottom:calc(100% + 12px);transform:translateX(-50%) translateY(6px);background:#fff;color:var(--red-deep);font-family:var(--fh);font-weight:600;font-size:12.5px;letter-spacing:.02em;padding:7px 13px;border-radius:9px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;box-shadow:0 12px 26px -12px rgba(0,0,0,.6);z-index:3;}
.ev-map__label::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#fff;}
.ev-map__spot:hover,.ev-map__spot:focus-visible{outline:0;z-index:4;}
.ev-map__spot:hover .ev-map__label,.ev-map__spot:focus-visible .ev-map__label{opacity:1;transform:translateX(-50%) translateY(0);}
@keyframes ev-ping{0%{transform:scale(1);opacity:.7;}70%,100%{transform:scale(3.2);opacity:0;}}
.ev-contact__call{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:12px 22px;color:rgba(255,255,255,.9);font-family:var(--fh);font-size:15px;font-feature-settings:"lnum" 1;}
.ev-contact__call .dot{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--rose);color:var(--red-deep);display:grid;place-items:center;}
.ev-contact__call .dot svg{width:16px;height:16px;}
.ev-contact__call a{color:#fff;text-decoration:underline;text-underline-offset:3px;}
.ev-contact__panel{position:relative;z-index:1;background:var(--cream);border-radius:28px;padding:clamp(34px,3.8vw,56px);padding-left:clamp(84px,9vw,150px);box-shadow:0 40px 80px -46px rgba(0,0,0,.5);}
.ev-contact__title{font-size:clamp(26px,3vw,40px);font-weight:600;color:var(--red-deep);margin:0 0 8px;}
.ev-contact__sub{color:var(--grey);font-size:15px;margin:0 0 clamp(20px,2.4vw,30px);}
.ev-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.ev-form__field{display:flex;flex-direction:column;gap:7px;}
.ev-form__field--full{grid-column:1/-1;}
.ev-form label{font-family:var(--fh);font-weight:600;font-size:13px;color:var(--red-deep);}
.ev-form input,.ev-form textarea{font-family:var(--fh);font-size:16px;color:var(--charcoal);background:#fff;border:1px solid var(--light-grey);border-radius:12px;padding:14px 16px;transition:border-color .25s ease,box-shadow .25s ease;width:100%;font-feature-settings:"lnum" 1;}
.ev-form input:focus,.ev-form textarea:focus{outline:0;border-color:var(--red-bright);box-shadow:0 0 0 3px rgba(218,57,96,.14);}
.ev-form textarea{resize:vertical;min-height:110px;}
.ev-form__submit{grid-column:1/-1;justify-self:start;}
.ev-form__submit button{font-family:var(--fh);font-weight:600;font-size:15px;color:#fff;background:var(--red-deep);border:0;border-radius:999px;padding:15px 34px;transition:background .3s ease,transform .3s ease;}
.ev-form__submit button:hover{background:var(--red-bright);transform:translateY(-2px);}
.ev-form__note{grid-column:1/-1;font-size:14px;margin:0;}
.ev-form__note.is-ok{color:#1a6b3a;}
.ev-form__note.is-err{color:var(--red-bright);}

@media (max-width:880px){
  /* map first, then the centered form (drop the desktop overlap) */
  .ev-contact__grid{grid-template-columns:1fr;gap:22px;}
  .ev-contact__left{order:0;margin-right:0;}
  .ev-contact__panel{border-radius:24px;padding-left:clamp(28px,5vw,40px);text-align:center;}
  .ev-contact__sub{max-width:46ch;margin-inline:auto;}
  .ev-form__submit{justify-self:center;}
}
@media (max-width:560px){
  .ev-form{grid-template-columns:1fr;}
  .ev-know__card{border-radius:20px;}
}

/* ============================================================
   CONTACT-US PAGE — "Let's Connect" hero + Office Locations
   (reuses §8 you-know + §9 get-in-touch + footer)
   ============================================================ */
.ev-connect{background:var(--cream);text-align:center;padding-top:clamp(40px,6vw,96px);padding-bottom:clamp(44px,6vw,84px);}
.ev-connect__title{font-family:var(--fh);font-weight:600;font-size:clamp(38px,5vw,68px);line-height:1.04;letter-spacing:-.02em;color:var(--red-deep);margin:0 0 clamp(18px,2.2vw,28px);}
.ev-connect__sub{font-family:var(--fh);font-weight:600;font-size:clamp(17px,1.55vw,23px);line-height:1.36;color:var(--red-deep);max-width:860px;margin:0 auto clamp(40px,4.6vw,64px);}
.ev-connect__items{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:clamp(24px,3vw,44px);max-width:1180px;margin:0 auto;text-align:left;}
.ev-connect__item{display:flex;align-items:center;gap:18px;}
.ev-connect__icon{flex:0 0 auto;width:clamp(52px,4vw,64px);height:clamp(52px,4vw,64px);border-radius:50%;background:var(--red-deep);color:#fff;display:grid;place-items:center;}
.ev-connect__icon svg{width:24px;height:24px;}
.ev-connect__label{font-family:var(--fh);font-weight:600;font-size:clamp(15px,1.25vw,18px);line-height:1.2;color:var(--red-deep);margin:0 0 6px;}
.ev-connect__val{font-family:var(--fh);font-weight:600;font-size:clamp(14px,1.15vw,17px);color:#111;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;transition:color .3s ease;}
.ev-connect__val:hover{color:var(--red-bright);}
@media (max-width:860px){.ev-connect__items{grid-template-columns:1fr;max-width:460px;gap:22px;}}

.ev-offices{background:var(--cream);}
/* one office now, so the title shares its row with the lead that explains why the map
   above still marks three countries (delivery footprint, not premises) */
.ev-offices__head{display:flex;justify-content:space-between;align-items:flex-end;gap:clamp(20px,3vw,48px);margin:0 0 clamp(30px,4vw,56px);}
.ev-offices__title{font-family:var(--fh);font-weight:600;font-size:clamp(34px,5vw,64px);line-height:1.04;letter-spacing:-.01em;color:var(--red-deep);margin:0;}
.ev-offices__lead{font-family:var(--fb);font-size:clamp(16px,1.2vw,19px);line-height:1.6;color:var(--grey);margin:0;max-width:44ch;}
.ev-office{position:relative;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid var(--light-grey);border-radius:22px;padding:clamp(26px,2.6vw,36px);min-height:0;box-shadow:0 22px 54px -40px rgba(95,15,38,.28);}
/* solo HQ panel: identity on one side, how-to-reach-us on the other */
.ev-office--solo{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(24px,3vw,64px);border-radius:28px;padding:clamp(32px,3.4vw,60px);}
.ev-office--solo .ev-office__q{width:clamp(190px,32%,320px);right:-2%;bottom:-14%;}
.ev-office__side{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(14px,1.6vw,22px);}
.ev-office--solo .ev-office__phone,.ev-office--solo .ev-office__dir{margin-top:0;}
.ev-office--hq{background:var(--red-deep);border-color:var(--red-deep);color:#fff;}
/* Q watermark: clamped width so it stays a consistent bottom-right accent and
   never balloons on wide screens (plain px cap — no dependency on box height) */
.ev-office__q{position:absolute;right:-3%;bottom:-8%;width:clamp(170px,50%,265px);height:auto;opacity:.9;pointer-events:none;z-index:0;}
.ev-office>*:not(.ev-office__q){position:relative;z-index:1;}
.ev-office__badge{align-self:flex-start;font-family:var(--fh);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:8px 18px;border:1px solid rgba(95,15,38,.28);border-radius:999px;color:var(--red-deep);}
.ev-office--hq .ev-office__badge{border-color:rgba(255,255,255,.5);color:#fff;}
.ev-office__country{font-family:var(--fh);font-weight:600;font-size:clamp(28px,2.6vw,38px);line-height:1;margin:clamp(16px,2vw,24px) 0 clamp(8px,1.2vw,14px);color:var(--red-deep);}
.ev-office--hq .ev-office__country{color:#fff;}
.ev-office__city{font-family:var(--fh);font-weight:700;font-size:clamp(18px,1.5vw,22px);margin:0 0 6px;color:var(--red-deep);}
.ev-office--hq .ev-office__city{color:#fff;}
.ev-office__addr{font-family:var(--fb);font-size:clamp(15px,1.2vw,17px);line-height:1.5;color:var(--grey);margin:0;}
.ev-office--hq .ev-office__addr{color:rgba(255,255,255,.82);}
.ev-office__phone{display:inline-flex;align-items:center;gap:12px;font-family:var(--fh);font-weight:600;font-size:clamp(15px,1.25vw,18px);color:var(--red-deep);margin-top:clamp(16px,1.9vw,24px);}
.ev-office--hq .ev-office__phone{color:#fff;}
.ev-office__phone .ic{width:34px;height:34px;border-radius:50%;background:var(--red-deep);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;}
.ev-office--hq .ev-office__phone .ic{background:var(--red-bright);}
.ev-office__phone .ic svg{width:15px;height:15px;}
.ev-office__phone a{color:inherit;text-decoration:underline;text-underline-offset:3px;}
.ev-office__dir{display:inline-flex;align-items:center;gap:12px;font-family:var(--fh);font-weight:600;font-size:clamp(15px,1.25vw,18px);color:var(--red-deep);text-decoration:none;margin-top:clamp(14px,1.7vw,22px);}
.ev-office--hq .ev-office__dir{color:#fff;}
.ev-office__dir .ic{width:34px;height:34px;border-radius:50%;background:var(--red-bright);color:#fff;display:inline-flex;align-items:center;justify-content:center;transition:transform .3s ease;}
.ev-office__dir .ic svg{width:15px;height:15px;}
.ev-office__dir:hover .ic{transform:translate(2px,-2px);}
@media (max-width:860px){
  .ev-offices__head{flex-direction:column;align-items:flex-start;}
  .ev-office--solo{grid-template-columns:1fr;align-items:start;gap:clamp(22px,5vw,34px);}
  .ev-office--solo .ev-office__q{width:clamp(150px,45%,230px);bottom:-10%;}
}

/* ============================================================
   SINGLE POST — article layout (single.php)
   ============================================================ */
.ev-article__hero{position:relative;isolation:isolate;overflow:hidden;background:var(--red-deep) url(../img/topo-bg.png) center/cover no-repeat;background-attachment:fixed;padding-top:calc(var(--header-h) + clamp(34px,5vw,70px));padding-bottom:clamp(120px,14vw,190px);}
.ev-article__headwrap{position:relative;z-index:1;max-width:900px;}
.ev-article__back{display:inline-flex;align-items:center;gap:9px;font-family:var(--fh);font-weight:600;font-size:14px;color:rgba(255,255,255,.8);margin-bottom:clamp(22px,3vw,34px);transition:color .25s ease;}
.ev-article__back:hover{color:#fff;}
.ev-article__back .ic{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.12);display:inline-grid;place-items:center;}
.ev-article__back .ic svg{width:15px;height:15px;}
.ev-article__hero .ev-eyebrow{color:#fff;border-color:rgba(255,255,255,.5);margin-bottom:22px;}
.ev-article__title{color:#fff;font-size:clamp(30px,4.2vw,56px);line-height:1.08;margin:0 0 20px;max-width:22ch;}
.ev-article__meta{color:rgba(255,255,255,.72);font-family:var(--fh);font-weight:600;font-size:15px;margin:0;}
.ev-article__meta .sep{margin:0 10px;opacity:.6;}
/* body pulls up so the featured image overlaps the hero */
.ev-article__body{position:relative;z-index:2;max-width:860px;margin-top:clamp(-96px,-11vw,-150px);padding-bottom:clamp(60px,8vw,110px);}
.ev-article__media{margin:0 0 clamp(28px,4vw,48px);border-radius:22px;overflow:hidden;box-shadow:0 44px 90px -46px rgba(20,3,10,.6);}
.ev-article__media img{width:100%;height:auto;display:block;}
.ev-article__content{max-width:760px;margin-inline:auto;font-size:clamp(17px,1.25vw,19px);line-height:1.75;color:var(--charcoal);}
.ev-article__content > *:first-child{margin-top:0;}
.ev-article__content p{margin:0 0 1.25em;}
.ev-article__content h2{font-family:var(--fh);font-weight:600;font-size:clamp(24px,2.4vw,34px);line-height:1.15;color:var(--red-deep);margin:1.6em 0 .5em;}
.ev-article__content h3{font-family:var(--fh);font-weight:600;font-size:clamp(20px,1.8vw,26px);line-height:1.2;color:var(--red-deep);margin:1.5em 0 .5em;}
.ev-article__content a{color:var(--red-bright);text-decoration:underline;text-underline-offset:3px;}
.ev-article__content a:hover{color:var(--red-deep);}
.ev-article__content ul,.ev-article__content ol{margin:0 0 1.25em;padding-left:1.3em;}
.ev-article__content li{margin:0 0 .5em;}
.ev-article__content img{border-radius:16px;margin:1.5em 0;}
.ev-article__content blockquote{margin:1.6em 0;padding:6px 0 6px 26px;border-left:3px solid var(--red-bright);font-size:1.1em;color:var(--red-deep);font-style:italic;}
.ev-article__content strong{color:var(--red-deep);}
.ev-article__tags{max-width:760px;margin:clamp(28px,3.4vw,40px) auto 0;display:flex;flex-wrap:wrap;gap:10px;}
.ev-article__tags a{font-family:var(--fh);font-weight:600;font-size:13px;color:var(--red-deep);background:var(--pale);border-radius:999px;padding:8px 16px;transition:background .25s ease,color .25s ease;}
.ev-article__tags a:hover{background:var(--red-bright);color:#fff;}
.ev-article__foot{max-width:760px;margin:clamp(34px,4vw,52px) auto 0;}
@media (max-width:560px){
  .ev-article__body{max-width:none;}
  .ev-article__hero{padding-bottom:clamp(90px,20vw,120px);}
}
/* mobile: keep the parallax but render the pattern at full width so it
   downscales sharp (no over-zoom blur) and tiles to cover */
@media (max-width:768px){
  .ev-article__hero{background-attachment:fixed;background-size:100% auto;background-repeat:repeat;}
  .ev-purpose{background-size:100% auto;background-repeat:repeat;}
}

/* generic WP page fallback (page.php) */
.ev-page{padding-top:calc(var(--header-h) + clamp(30px,5vw,66px));}
.ev-page__title{font-size:clamp(30px,4vw,52px);line-height:1.08;color:var(--red-deep);margin:0 0 clamp(20px,3vw,32px);}
