/* Uluksoft — custom styles (language switcher, content pages, footer CTA, RTL / CJK fonts) */
:root{--ulu-pink:#ed5aaa;--ulu-pink-d:#d63f93;--ulu-ink:#111;--ulu-mut:#5b5b66;--ulu-line:rgba(17,17,17,.12);--ulu-bg:#f6f6f8}

/* ---------- language switcher ---------- */
.ulu-lang{position:fixed;top:9px;right:64px;z-index:2147483000;font:500 14px/1 "Inter Tight",system-ui,sans-serif}
.ulu-lang__btn{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border:1px solid var(--ulu-line);border-radius:999px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ulu-ink);cursor:pointer;font:inherit;letter-spacing:.02em}
.ulu-lang__btn:hover{border-color:var(--ulu-ink)}
.ulu-lang__btn:focus-visible,.ulu-lang__list a:focus-visible{outline:2px solid var(--ulu-pink);outline-offset:2px}
.ulu-lang__chev{width:10px;height:7px;transition:transform .2s}
.ulu-lang.is-open .ulu-lang__chev{transform:rotate(180deg)}
.ulu-flag{display:block;width:24px;height:18px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.15);flex:none}
.ulu-lang__list{display:none;position:absolute;top:44px;right:0;min-width:178px;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--ulu-line);border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.16)}
.ulu-lang.is-open .ulu-lang__list{display:block}
.ulu-lang__list li,.ulu-langlist li{margin:0;padding:0;list-style:none}
.ulu-lang__list a,.ulu-langlist a{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;color:var(--ulu-ink);text-decoration:none;font:500 15px/1.2 "Inter Tight",system-ui,sans-serif}
.ulu-lang__list a:hover,.ulu-langlist a:hover{background:var(--ulu-bg)}
.ulu-lang__list a[aria-current],.ulu-langlist a[aria-current]{background:rgba(237,90,170,.12)}
.ulu-langlist{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:24px 0 0;padding:0;list-style:none}
/* desktop: switcher sits inside the bottom bar; mobile/tablet: fixed top-right next to the burger */
.ulu-lang--bar{display:none}
@media(min-width:992px){
 .ulu-lang--top{display:none}
 .ulu-lang--bar{display:block;position:relative;top:auto;right:auto;left:auto;z-index:5;margin-left:10px;padding-left:14px;border-left:1px solid var(--ulu-line)}
 .ulu-lang--bar .ulu-lang__btn{height:40px;background:rgba(255,255,255,.7)}
 .ulu-lang--bar .ulu-lang__list{top:auto;bottom:calc(100% + 18px);right:0}
 html[dir="rtl"] .ulu-lang--bar{margin-left:0;margin-right:10px;padding-left:0;padding-right:14px;border-left:0;border-right:1px solid var(--ulu-line)}
 html[dir="rtl"] .ulu-lang--bar .ulu-lang__list{right:auto;left:0}
}
@media(max-width:380px){.ulu-lang__code{display:none}}

/* ---------- header / footer helpers ---------- */
.svg_image .ulu-ico{display:block;width:100%;height:100%;padding:24%;box-sizing:border-box}
.ulu-fcta{box-sizing:border-box;min-height:300px;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:16px;padding:48px;border-radius:28px;color:#fff;background:radial-gradient(120% 140% at 100% 0%,rgba(237,90,170,.55),transparent 55%),#111;font-family:"Inter Tight",sans-serif}
.ulu-fcta h2{margin:0;font:800 clamp(34px,5vw,64px)/.95 "Sofia Sans Extra Condensed","Inter Tight",sans-serif;text-transform:uppercase;color:#fff}
.ulu-fcta p{margin:0;max-width:560px;font-size:17px;line-height:1.5;color:rgba(255,255,255,.82)}

/* ---------- buttons / chips ---------- */
.ulu-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:15px 30px;background:var(--ulu-pink);color:#fff;font:500 16px/1 "Inter Tight",system-ui,sans-serif;cursor:pointer;text-decoration:none;transition:background .2s,transform .2s}
.ulu-btn:hover{background:var(--ulu-pink-d);transform:translateY(-1px)}
.ulu-chips{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.decor-wrap .ulu-chip{display:inline-flex;padding:10px 18px;border:1px solid var(--ulu-line);border-radius:999px;color:var(--ulu-ink);text-decoration:none;font:500 15px/1.2 "Inter Tight",sans-serif;background:#fff;transition:border-color .2s,background .2s}
.decor-wrap a.ulu-chip:hover{border-color:var(--ulu-ink);background:var(--ulu-bg)}
.decor-wrap .ulu-chip--static{background:var(--ulu-bg);border-color:transparent}

/* ---------- content pages ---------- */
.decor-wrap .ulu-page{max-width:1100px;font-family:"Inter Tight",system-ui,sans-serif;color:var(--ulu-ink);font-size:18px;line-height:1.65}
.decor-wrap .ulu-page p{margin:0 0 18px;font:inherit;color:#33333b}
.decor-wrap .ulu-page .ulu-lead{font-size:clamp(20px,2.4vw,26px);line-height:1.45;color:var(--ulu-ink);font-weight:400}
.decor-wrap .ulu-page h2{margin:56px 0 18px;font:800 clamp(30px,4vw,46px)/.95 "Sofia Sans Extra Condensed","Inter Tight",sans-serif;text-transform:uppercase;color:var(--ulu-ink)}
.decor-wrap .ulu-page h3{margin:0 0 8px;font:600 20px/1.25 "Inter Tight",sans-serif;color:var(--ulu-ink)}
.ulu-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:36px 0}
.ulu-stat{padding:26px 22px;border:1px solid var(--ulu-line);border-radius:22px;background:#fff}
.ulu-stat b{display:block;font:800 clamp(44px,6vw,72px)/.9 "Sofia Sans Extra Condensed","Inter Tight",sans-serif;color:var(--ulu-pink)}
.ulu-stat span{display:block;margin-top:10px;font-size:15px;line-height:1.35;color:var(--ulu-mut)}
.ulu-check{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 28px}
.ulu-check li{position:relative;padding:0 0 0 38px;font-size:17px;line-height:1.5}
.ulu-check li::before{content:"";position:absolute;left:0;top:2px;width:24px;height:24px;border-radius:50%;background:var(--ulu-pink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 12.5l3.2 3.2L17 8.8' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.ulu-steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ulu-steps li{counter-increment:s;position:relative;padding:26px 22px;border-radius:22px;background:var(--ulu-bg)}
.ulu-steps li::before{content:"0" counter(s);display:block;margin-bottom:14px;font:800 40px/1 "Sofia Sans Extra Condensed","Inter Tight",sans-serif;color:var(--ulu-pink)}
.ulu-steps p{margin:0!important;font-size:15.5px!important;line-height:1.55!important;color:var(--ulu-mut)!important}
.ulu-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:64px 0 8px;padding:40px;border-radius:28px;color:#fff;background:radial-gradient(120% 160% at 100% 0%,rgba(237,90,170,.5),transparent 55%),#111}
.decor-wrap .ulu-page .ulu-cta h2{margin:0 0 10px;color:#fff;font-size:clamp(28px,3.4vw,40px)}
.decor-wrap .ulu-page .ulu-cta p{margin:0;color:rgba(255,255,255,.8);font-size:16px}
.ulu-cta .ulu-btn{flex:none}
.ulu-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.decor-wrap a.ulu-card{display:flex;flex-direction:column;padding:28px;border:1px solid var(--ulu-line);border-radius:24px;background:#fff;text-decoration:none;color:var(--ulu-ink);transition:transform .25s,box-shadow .25s,border-color .25s}
.decor-wrap a.ulu-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.1);border-color:var(--ulu-ink)}
.ulu-card__n{font:800 34px/1 "Sofia Sans Extra Condensed","Inter Tight",sans-serif;color:var(--ulu-pink);margin-bottom:18px}
.decor-wrap .ulu-card p{font-size:15.5px;line-height:1.55;color:var(--ulu-mut);flex:1}
.ulu-card__more{margin-top:8px;font-weight:500;font-size:15px;color:var(--ulu-ink)}
.ulu-card__more::after{content:" →"}
.ulu-projs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.ulu-proj{padding:14px 14px 26px;border:1px solid var(--ulu-line);border-radius:26px;background:#fff}
.ulu-proj__cover{display:flex;align-items:center;justify-content:center;height:210px;margin-bottom:20px;border-radius:18px;color:#fff;font:800 88px/1 "Sofia Sans Extra Condensed","Inter Tight",sans-serif}
.ulu-proj__cover--1{background:linear-gradient(135deg,#111,#5a2a4a 60%,#ed5aaa)}
.ulu-proj__cover--2{background:linear-gradient(135deg,#1b1b2f,#3a3a7a 55%,#7a6cf0)}
.ulu-proj__cover--3{background:linear-gradient(135deg,#0f2a2a,#1f6f6a 55%,#41c7b0)}
.ulu-proj h3,.ulu-proj p{padding:0 12px}
.ulu-contacts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}
.ulu-contact{padding:26px;border:1px solid var(--ulu-line);border-radius:22px;background:#fff}
.ulu-contact--wide{grid-column:1/-1}
.ulu-contact span{display:block;margin-bottom:8px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ulu-mut)}
.decor-wrap .ulu-contact a:not(.ulu-soc){font:600 clamp(20px,2.2vw,26px)/1.3 "Inter Tight",sans-serif;color:var(--ulu-ink);text-decoration:none;word-break:break-word}
.decor-wrap .ulu-contact a:not(.ulu-soc):hover{color:var(--ulu-pink-d)}
.decor-wrap .ulu-contact p{margin:0;font-size:19px;line-height:1.45;color:var(--ulu-ink)}
.ulu-socs{display:flex;gap:10px;flex-wrap:wrap}
.ulu-soc{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--ulu-ink);color:#fff;transition:background .2s,transform .2s}
.ulu-soc:hover{background:var(--ulu-pink);transform:translateY(-2px)}
.ulu-soc .ulu-ico{width:22px;height:22px;padding:0}

/* ---------- contact form ---------- */
.ulu-form{display:grid;gap:16px;margin-top:8px;padding:30px;border:1px solid var(--ulu-line);border-radius:26px;background:#fff}
.ulu-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ulu-form label{display:block}
.ulu-form label>span{display:block;margin-bottom:7px;font:500 13px/1.2 "Inter Tight",sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--ulu-mut)}
.ulu-form input[type=text],.ulu-form input[type=tel],.ulu-form input[type=email],.ulu-form select,.ulu-form textarea{width:100%;box-sizing:border-box;padding:14px 18px;border:1px solid var(--ulu-line);border-radius:16px;background:#fff;color:var(--ulu-ink);font:400 17px/1.4 "Inter Tight",system-ui,sans-serif;transition:border-color .2s,box-shadow .2s}
.ulu-form textarea{resize:vertical;min-height:130px;border-radius:18px}
.ulu-form input:focus,.ulu-form select:focus,.ulu-form textarea:focus{outline:0;border-color:var(--ulu-pink);box-shadow:0 0 0 4px rgba(237,90,170,.18)}
.ulu-form .ulu-form__agree{display:flex;align-items:flex-start;gap:12px;font-size:15px;color:#33333b}
.ulu-form .ulu-form__agree span{margin:0;font:400 15px/1.45 "Inter Tight",sans-serif;letter-spacing:0;text-transform:none;color:#33333b}
.ulu-form .ulu-form__agree input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--ulu-pink);flex:none}
.ulu-form .ulu-btn{justify-self:start}
.ulu-form .ulu-btn:disabled{opacity:.6;cursor:wait}
.ulu-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
html[dir=rtl] .ulu-form .ulu-btn{justify-self:start}
@media(max-width:640px){.ulu-form{padding:20px}.ulu-form__row{grid-template-columns:1fr}}

/* ---------- popup form status ---------- */
.ulu-form-status{margin:14px 0 0;font:500 15px/1.45 "Inter Tight",sans-serif;color:#b3261e}
.ulu-form-status.is-ok{color:#1b7f4b}
.ulu-form-status:empty{display:none}

@media(max-width:991px){
 .ulu-stats,.ulu-steps{grid-template-columns:1fr 1fr}
 .ulu-cards,.ulu-projs{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
 .decor-wrap .ulu-page{font-size:16.5px}
 .ulu-check,.ulu-cards,.ulu-projs,.ulu-contacts{grid-template-columns:1fr}
 .ulu-cta{flex-direction:column;align-items:flex-start;padding:28px}
 .ulu-fcta{padding:30px 24px}
 .ulu-langlist{grid-template-columns:1fr}
}

/* ---------- Arabic (RTL) ---------- */
html[lang="ar"] body,html[lang="ar"] .mosaic-wrap *{font-family:"Noto Sans Arabic","Segoe UI",Tahoma,"Geeza Pro",Arial,sans-serif!important;letter-spacing:0!important;word-spacing:normal}
html[lang="ar"] .page-title,html[lang="ar"] .heading,html[lang="ar"] .ulu-page h2,html[lang="ar"] .ulu-fcta h2{line-height:1.3!important;text-transform:none!important}
html[dir="rtl"] .text,html[dir="rtl"] .heading,html[dir="rtl"] .page-title,html[dir="rtl"] .mosaic-crumbs,html[dir="rtl"] .mosaic-form,html[dir="rtl"] .decor-wrap,html[dir="rtl"] .ulu-fcta,html[dir="rtl"] .ulu-lang__list,html[dir="rtl"] .ulu-langlist,html[dir="rtl"] .hor-menu__sub_list,html[dir="rtl"] .ver-menu{direction:rtl;text-align:right}
html[dir="rtl"] .ulu-check li{padding:0 38px 0 0}
html[dir="rtl"] .ulu-check li::before{left:auto;right:0}
html[dir="rtl"] .ulu-card__more::after{content:" ←"}
html[dir="rtl"] .ulu-fcta{align-items:flex-start}
html[dir="rtl"] .ulu-lang__list{right:auto;left:0}

/* ---------- Chinese ---------- */
html[lang="zh"] body,html[lang="zh"] .mosaic-wrap *{font-family:"PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Microsoft YaHei","Source Han Sans SC",sans-serif!important;letter-spacing:0!important}
html[lang="zh"] .page-title,html[lang="zh"] .heading,html[lang="zh"] .ulu-page h2,html[lang="zh"] .ulu-fcta h2{line-height:1.25!important}
html[lang="zh"] .decor-wrap .ulu-page{line-height:1.8}
a.link-universal .svg_image{color:#111}
/* wider floating menu so that every item fits without the "More" overflow */
@media(min-width:992px){
 .container--u-iwkzkopzo{width:auto!important;max-width:calc(100vw - 32px)!important;margin-left:auto!important;margin-right:auto!important;padding:10px 16px!important;gap:6px}
 .container--u-iwkzkopzo>.div{width:auto!important;flex:0 0 auto}
 .container--u-iwkzkopzo .hor-menu__list{gap:2px;flex-direction:row!important}
 .container--u-iwkzkopzo>.div{padding-left:6px!important;padding-right:6px!important}
 .container--u-iwkzkopzo .hor-menu__link{padding-left:9px;padding-right:9px;white-space:nowrap}
}
/* header logo mark */
.imageFit--u-ie270zyb2{width:46px!important;height:46px!important}
.imageFit__img--u-in7lzjmuw{width:46px!important;height:46px!important;object-fit:contain;border-radius:12px!important}

/* narrow desktops (992-1239px): tighter bar so every item stays visible */
@media(min-width:992px) and (max-width:1239px){
 .container--u-iwkzkopzo{padding:8px 10px!important;gap:2px}
 .container--u-iwkzkopzo .hor-menu__link{padding-left:6px;padding-right:6px}
 .container--u-iwkzkopzo .hor-menu__text{font-size:14px!important}
 .container--u-iwkzkopzo>.div{padding-left:3px!important;padding-right:3px!important}
 .ulu-lang--bar{margin-left:4px;padding-left:8px}
}
