/* CODUS MONO V2 — deliberate monochrome, restrained interactive colour */
:root{--mono-header:86px;--mono-line:#303030}
.mono-skip{position:fixed;top:-120px;left:22px;padding:12px 18px;background:#fff;color:#000!important;z-index:1500}
.mono-skip:focus{top:10px}
.mono-logo{border-right:1px solid var(--mono-line);gap:0}
.mono-logo__word{font-size:clamp(27px,2.05vw,35px);font-weight:800;letter-spacing:-.055em;line-height:1}
.mono-header__inner{grid-template-columns:minmax(110px,.7fr) minmax(165px,.9fr) minmax(335px,2.4fr) minmax(210px,1.15fr)}
.mono-menu-trigger{font-size:12px;letter-spacing:.025em;font-weight:700;transition:background .2s}
.mono-menu-trigger__state{font-size:23px}
.mono-nav a{position:relative;color:#ddd!important;font-size:clamp(12px,.9vw,15px);font-weight:700;letter-spacing:-.015em;gap:7px;transition:color .22s}
.mono-nav a::after{content:"";position:absolute;bottom:0;left:12px;right:12px;height:2px;background:#f4f4f4;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.mono-nav a:hover::after,.mono-nav a[aria-expanded=true]::after{transform:scaleX(1)}
.mono-nav a[aria-expanded=true]{color:#fff!important}
.mono-nav a span{color:#777;font-size:18px;transition:transform .25s}
.mono-nav a:hover span,.mono-nav a[aria-expanded=true] span{transform:translateY(3px);color:#ddd}
.mono-header__action{display:flex;justify-content:center;gap:22px;align-items:center;align-self:center;margin:0 0 0 17px;min-height:51px;padding:12px 15px!important;background:#f0f0f0;color:#0a0a0a!important;font-size:clamp(11px,.88vw,14px);line-height:1.25;letter-spacing:0;border:1px solid #eee;transition:background .25s,box-shadow .25s,border-color .25s}
.mono-header__action:hover{background:#fff;box-shadow:0 0 34px #ffffff36}
.mono-header__action span:last-child{font-size:24px}
.mono-flyout{position:absolute;inset:var(--mono-header) 0 auto;z-index:6;max-height:calc(100dvh - var(--mono-header));overflow:auto;overscroll-behavior:contain;background:#070707;border-bottom:1px solid #383838;box-shadow:0 45px 75px #000b}
.mono-flyout[hidden],.mono-flyout__panel[hidden],.mono-mobile__products[hidden]{display:none!important}
.mono-flyout__panel{max-width:1910px;margin-inline:auto}
.mono-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(260px,.92fr);grid-template-rows:repeat(2,minmax(218px,1fr));padding:0 var(--mono-gutter)}
.mono-product{--product-color:#fff;position:relative;display:flex;flex-direction:column;min-width:0;min-height:250px;border:1px solid #292929;margin:0 -1px -1px 0;padding:clamp(20px,2vw,35px);background:#090909;isolation:isolate;overflow:hidden;transition:border-color .3s,background .3s}
.mono-product::before{content:"";position:absolute;inset:-25%;z-index:-1;background:radial-gradient(ellipse at 72% 80%,var(--product-color),transparent 52%);opacity:0;filter:blur(42px);transform:scale(.8);transition:opacity .45s,transform .65s}
.mono-product::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.22;background-image:radial-gradient(circle,#ffffff38 1px,transparent 1.25px);background-size:9px 9px;mask-image:linear-gradient(90deg,transparent 30%,#000 100%)}
.mono-product:is(:hover,:focus-visible){border-color:#676767;background:#131313;z-index:2}
.mono-product:is(:hover,:focus-visible)::before{opacity:.24;transform:scale(1)}
.mono-product__top{display:flex;justify-content:space-between;align-items:flex-start}
.mono-product__icon{display:grid;place-items:center;width:60px;height:60px;color:#747474;transition:transform .55s cubic-bezier(.2,.8,.2,1),color .25s,filter .4s}
.mono-product__icon svg{width:45px;height:45px}
.mono-product:is(:hover,:focus-visible) .mono-product__icon{color:var(--product-color);transform:translateY(-4px) rotate(-8deg) scale(1.12);filter:drop-shadow(0 0 17px var(--product-color))}
.mono-product__arrow{width:34px;height:34px;border:1px solid #363636;display:grid;place-items:center;font-size:20px;transition:background .25s,color .25s,transform .35s}
.mono-product:is(:hover,:focus-visible) .mono-product__arrow{background:#fff;color:#000;transform:rotate(45deg)}
.mono-product__body{margin-top:auto;padding-top:26px}
.mono-product h3{font-size:clamp(20px,1.6vw,31px);font-weight:800;letter-spacing:-.045em;line-height:1.12;margin-bottom:12px}
.mono-product p{color:#858585;font-size:clamp(12px,.98vw,15px);max-width:270px;line-height:1.5;margin:0;transition:color .3s}
.mono-product:hover p{color:#c4c4c4}
.mono-product-cta{grid-column:4;grid-row:1/3;border:1px solid #393939;margin:0 -1px -1px 0;padding:clamp(24px,2.1vw,40px);display:flex;flex-direction:column;background:radial-gradient(circle at 50% 44%,#292929,#0c0c0c 64%);position:relative;overflow:hidden}
.mono-product-cta h3{font-size:clamp(24px,2vw,38px);line-height:1.08;letter-spacing:-.05em;max-width:300px;margin:3px 0 16px}
.mono-product-cta p{color:#a7a7a7;font-size:15px;max-width:250px}
.mono-product-cta .mono-btn{margin-top:auto;position:relative;z-index:2;min-width:0;gap:10px;font-size:11px;padding-inline:15px}
.mono-product-cta__shape{position:relative;width:100%;height:160px;margin:10px 0 25px;perspective:550px}
.mono-product-cta__shape span{position:absolute;left:50%;top:48%;width:105px;height:105px;border:1px solid #aaa;background:linear-gradient(140deg,#b9b9b91f,#111);transform:translate(-50%,-50%) rotate(45deg) skew(12deg,12deg);box-shadow:0 0 70px #ffffff24,inset 0 0 20px #ffffff16}
.mono-product-cta__shape span:nth-child(2){width:75px;height:75px;border-color:#fff9;transform:translate(-50%,-50%) rotate(55deg) skew(12deg,12deg)}
.mono-product-cta__shape span:nth-child(3){width:35px;height:35px;border-color:#eee;transform:translate(-50%,-50%) rotate(65deg) skew(12deg,12deg)}
.mono-flyout__panel--compact{min-height:300px;display:grid;grid-template-columns:minmax(280px,.95fr) minmax(0,1.4fr);padding:35px var(--mono-gutter);gap:30px}
.mono-flyout__intro{padding:24px 35px 26px 0;border-right:1px solid #333;display:flex;flex-direction:column;align-items:flex-start}
.mono-flyout__intro strong{font-size:clamp(24px,2.25vw,39px);line-height:1.1;letter-spacing:-.05em}
.mono-flyout__intro p{color:#aaa;font-size:15px;margin:18px 0 23px}
.mono-flyout__intro .mono-btn{min-height:48px;font-size:11px;min-width:245px;margin-top:auto}
.mono-flyout__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}
.mono-flyout__links a{font-size:clamp(14px,1.3vw,20px);font-weight:700;padding:23px 20px;border:1px solid #2d2d2d;display:flex;justify-content:space-between;gap:15px;transition:background .2s,border-color .2s}
.mono-flyout__links a:hover{background:#1a1a1a;border-color:#555}
.mono-flyout__links a span{font-size:21px;color:#aaa}
.mono-hero__copy{padding-block:60px}
.mono-hero__bottom{margin-top:54px}
.mono-display{font-weight:800}
.mono-section__head--split .mono-display{margin-top:0}
.mono-section__head{gap:25px}
.mono-btn{position:relative;overflow:hidden;min-height:61px;font-size:13px;letter-spacing:.015em;font-weight:800;transition:background .25s,color .25s,box-shadow .25s,border-color .25s,transform .25s}
.mono-btn--light,.mono-contact__form .wpcf7 input[type=submit]{background:#ededed;border-color:#ededed;color:#080808!important}
.mono-btn--light:hover,.mono-contact__form .wpcf7 input[type=submit]:hover{background:#fff;box-shadow:0 0 32px #ffffff24}
.mono-btn--outline{border-color:#666}
.mono-btn--outline:hover{box-shadow:0 0 20px #ffffff22}
.mono-text-link{color:#eee!important;font-size:13px;letter-spacing:.01em}
.mono-service,.mono-case-card,.mono-article,.mono-review,.mono-team__card{position:relative;overflow:hidden}
.mono-service{transition:background .3s,border-color .3s}
.mono-service::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#e9e9e9;transform:scaleX(0);transform-origin:left;transition:transform .5s ease}
.mono-service:hover::after,.mono-service:focus-visible::after{transform:scaleX(1)}
.mono-case-card__image,.mono-article__image,.mono-team__portrait,.mono-case-detail__cover{overflow:hidden}
.mono-case-card__image img,.mono-article__image img{will-change:transform}
.mono-case-card::after,.mono-article::after{content:"";position:absolute;inset:auto 0 0;height:2px;background:#f1f1f1;transform:scaleX(0);transform-origin:left;transition:transform .45s}
.mono-case-card:hover::after,.mono-article:hover::after{transform:scaleX(1)}
.mono-filter-row .mono-filters a.is-active{background:#eee;color:#0c0c0c!important;border-color:#eee}
.mono-metric strong{font-variant-numeric:tabular-nums}
.mono-reveal-word{display:inline-block;will-change:transform,opacity}
.mono-article-detail__date{display:inline-block;color:#b2b2b2;font-size:13px;letter-spacing:.05em}
.mono-consent{padding:8px 0 15px;clear:both}
.mono-consent__label{display:flex;align-items:flex-start;gap:12px;color:#bcbcbc;font-size:12px;line-height:1.55;cursor:pointer}
.mono-consent__label input[type=checkbox]{width:19px;height:19px;flex:0 0 19px;margin:2px 0 0;accent-color:#fff;cursor:pointer}
.mono-consent__label a{color:#fff!important;text-decoration:underline!important;text-underline-offset:3px}
.mono-consent__error{display:block;color:#e5a9a9;font-size:12px;margin-top:8px}
.mono-consent__error[hidden]{display:none!important}
.mono-contact__note{margin:23px 0 0!important;line-height:1.6!important}
.mono-contact__note a{text-decoration:underline!important;text-underline-offset:4px;color:#fff!important}
.mono-privacy__body{padding-block:55px 110px}
.mono-privacy__body .mono-richtext{max-width:920px;margin:0 auto}
.mono-privacy__body .mono-richtext h2{font-size:clamp(23px,2.5vw,38px);padding-top:25px}
.mono-privacy__updated{font-size:12px;color:#888;max-width:920px;margin:50px auto}
.mono-mobile__toggle{width:100%;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:18px 0;border:0;border-bottom:1px solid #333;background:transparent;font-size:23px;font-weight:700;text-align:left}
.mono-mobile__toggle span{font-size:23px}
.mono-mobile__products{padding:12px 12px 18px;border-bottom:1px solid #333;background:#141414}
.mono-mobile__products a{font-size:16px!important;padding:10px 8px!important;border-bottom:0!important}
.mono-mobile__cta{background:#f4f4f4;color:#080808!important;font-size:14px!important;text-align:center;font-weight:800;margin-top:25px;padding:19px!important}
@media(max-width:1270px){
 :root{--mono-header:77px}
 .mono-header__inner{grid-template-columns:minmax(100px,.7fr) minmax(151px,.85fr) minmax(330px,2.2fr) minmax(190px,1fr)}
 .mono-menu-trigger{padding-inline:12px;font-size:11px;gap:10px}
 .mono-nav a{padding-inline:9px;font-size:12px}
 .mono-header__action{font-size:11px;margin-left:8px;padding-inline:9px!important}
 .mono-product-grid{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(210px,.9fr)}
 .mono-product{padding:22px;min-height:215px}
 .mono-product h3{font-size:20px}
 .mono-product-cta{padding:21px}
 .mono-product-cta__shape{height:125px}
 .mono-product-cta h3{font-size:25px}
}
@media(max-width:950px){
 :root{--mono-header:74px}
 .mono-header__inner{grid-template-columns:1fr 165px 56px}
 .mono-logo__word{font-size:29px}
 .mono-nav,.mono-header__action{display:none!important}
 .mono-menu-trigger{border-right:none}
 .mono-flyout{max-height:calc(100dvh - var(--mono-header))}
 .mono-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
 .mono-product{min-height:210px}
 .mono-product-cta{grid-row:auto;grid-column:1/-1;min-height:210px;display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
 .mono-product-cta__shape{grid-column:2;grid-row:1/4}
 .mono-product-cta .mono-btn{grid-column:1}
 .mono-flyout__panel--compact{grid-template-columns:1fr}
 .mono-flyout__intro{border-right:0;border-bottom:1px solid #333}
 .mono-mobile{max-height:calc(100dvh - var(--mono-header));overflow:auto}
}
@media(max-width:620px){
 :root{--mono-header:68px}
 .mono-header__inner{grid-template-columns:1fr 139px 46px}
 .mono-logo__word{font-size:27px}
 .mono-menu-trigger{font-size:10px;letter-spacing:-.02em}
 .mono-product-grid{grid-template-columns:1fr;padding-inline:var(--mono-gutter)}
 .mono-product{min-height:160px;padding:18px 19px}
 .mono-product__top{position:absolute;right:18px;top:18px;gap:12px}
 .mono-product__icon{width:36px;height:36px}
 .mono-product__icon svg{width:32px;height:32px}
 .mono-product__arrow{width:30px;height:30px}
 .mono-product__body{padding-top:0;margin-top:0}
 .mono-product h3{font-size:22px;padding-right:95px}
 .mono-product p{font-size:12px;max-width:85%}
 .mono-product-cta{grid-column:auto;min-height:290px;display:flex;padding:23px}
 .mono-product-cta__shape{position:absolute;width:120px;height:120px;top:10%;right:15px;opacity:.55}
 .mono-product-cta h3{max-width:270px;position:relative;font-size:28px}
 .mono-product-cta p{position:relative}
 .mono-product-cta .mono-btn{margin-top:auto;max-width:300px}
 .mono-flyout__panel--compact{padding:15px var(--mono-gutter)}
 .mono-flyout__intro{padding:20px 0}
 .mono-flyout__links{grid-template-columns:1fr}
 .mono-flyout__links a{padding:14px;font-size:16px}
 .mono-contact__grid{margin-top:25px}
 .mono-contact__form{padding:24px}
 .mono-hero__bottom{margin-top:42px}
 .mono-article-detail__date{font-size:12px}
}
@media(max-width:390px){
 .mono-header__inner{grid-template-columns:1fr 112px 43px}
 .mono-menu-trigger{display:flex;font-size:9px;padding-inline:3px;gap:6px}
 .mono-menu-trigger__icon{gap:3px}
 .mono-menu-trigger__state{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.mono-reveal-word{will-change:auto!important}.mono-product::before{transition:none!important}}
.mono-motion-line{position:absolute;top:0;left:0;right:0;height:1px;background:#ddd;transform-origin:left;pointer-events:none}

.mono-service__top{justify-content:flex-end}
.mono-process__grid h3{margin-top:12px}
@media(min-width:951px){.mono-menu-trigger>span:nth-child(2){white-space:nowrap;flex-shrink:0}.mono-menu-trigger{gap:9px}}
