/* ==========================================================
   USAIT theme styles
   Colors are CSS variables: change them in
   Appearance > Customize > USAIT Colors, or per widget in Elementor.
   ========================================================== */
:root{
  --usait-navy:#0B2A6B;--usait-navy2:#071C4A;--usait-blue:#2F6BFF;
  --usait-orange:#F26B1D;--usait-orange2:#FF8A3D;
  --usait-ink:#0F1B3D;--usait-muted:#55627F;--usait-line:#E3E9F5;--usait-soft:#F3F7FE;
}
html{scroll-behavior:smooth}
body.usait-theme{margin:0;font-family:'Poppins',system-ui,-apple-system,sans-serif;color:var(--usait-ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
body.usait-theme *,body.usait-theme *::before,body.usait-theme *::after{box-sizing:border-box}
.usait-theme a{color:inherit;text-decoration:none}
.usait-theme img{max-width:100%;height:auto}
.u-hero,.u-sec,.u-stats,.u-header,.u-topbar,.u-footer,.u-page-hero,.u-content{font-family:'Poppins',system-ui,-apple-system,sans-serif}
.u-hero h1,.u-hero h2,.u-sec h2,.u-sec h3,.u-sec h4,.u-stats h3,.u-footer h5{font-family:inherit}
.u-wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.u-screen-reader{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* ---------- buttons ---------- */
.u-btn{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 24px;border-radius:999px;font-weight:600;font-size:14px;border:0;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s,color .25s;font-family:inherit;line-height:1}
.u-btn svg{width:16px;height:16px;flex-shrink:0}
.u-btn-o{background:linear-gradient(135deg,var(--usait-orange2),var(--usait-orange));color:#fff!important;box-shadow:0 10px 24px color-mix(in srgb,var(--usait-orange) 35%,transparent)}
.u-btn-o:hover{transform:translateY(-2px);box-shadow:0 16px 30px color-mix(in srgb,var(--usait-orange) 45%,transparent)}
.u-btn-line{border:1.5px solid var(--usait-navy);color:var(--usait-navy)!important;background:transparent}
.u-btn-line:hover{background:var(--usait-navy);color:#fff!important}

/* ---------- top bar ---------- */
.u-topbar{background:var(--usait-navy2);color:#C9D5F0;font-size:13px}
.u-topbar .u-wrap{display:flex;justify-content:space-between;align-items:center;min-height:40px;gap:16px;flex-wrap:wrap}
.u-topbar .u-info{display:flex;gap:28px;flex-wrap:wrap}
.u-topbar .u-info span{display:flex;align-items:center;gap:8px}
.u-topbar .u-info svg{width:15px;height:15px;stroke:var(--usait-orange2);fill:none;stroke-width:2}
.u-socials{display:flex;gap:8px}
.u-socials a{width:28px;height:28px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;transition:transform .3s}
.u-socials a:hover{transform:translateY(-3px) rotate(8deg)}
.u-socials svg{width:14px;height:14px;fill:var(--usait-navy2)}

/* ---------- header ---------- */
.u-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--usait-line)}
.admin-bar .u-header{top:32px}
.u-header .u-wrap{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:20px}
.u-brand{display:flex;align-items:center;gap:12px}
.u-brand img{width:62px;height:62px;object-fit:contain}
.u-brand .custom-logo-link img{width:auto;max-height:64px}
.u-brand .t1{font-weight:700;color:var(--usait-navy);font-size:15px;line-height:1.15;letter-spacing:.01em}
.u-brand .t2{display:flex;align-items:center;gap:8px;color:var(--usait-orange);font-weight:600;font-size:12px;letter-spacing:.32em}
.u-brand .t2 i{height:2px;width:22px;background:var(--usait-orange);display:block}
.u-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:34px;font-size:14px;font-weight:500}
.u-nav li{position:relative}
.u-nav a{position:relative;padding:6px 0;display:block}
.u-nav a:hover,.u-nav .current-menu-item>a{color:var(--usait-orange)}
.u-nav .current-menu-item>a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--usait-orange);border-radius:2px}
.u-nav .sub-menu{display:none;position:absolute;top:100%;left:-16px;min-width:220px;background:#fff;border-radius:12px;box-shadow:0 20px 40px rgba(11,42,107,.15);padding:10px 16px;flex-direction:column;gap:4px}
.u-nav li:hover>.sub-menu{display:flex}
.u-burger{display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--usait-line);background:#fff;align-items:center;justify-content:center;cursor:pointer}
.u-burger svg{width:22px;height:22px;stroke:var(--usait-navy)}

/* ---------- section heads ---------- */
.u-head{text-align:center;max-width:680px;margin:0 auto 48px}
.u-head.u-left{text-align:left;margin-left:0}
.u-eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--usait-orange);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.u-eyebrow::before{content:"";width:22px;height:2px;background:var(--usait-orange)}
.u-h2{margin:8px 0 12px;font-size:36px;line-height:1.2;color:var(--usait-navy);font-weight:700}
.u-head .u-h2::after{content:"";display:block;width:60px;height:3px;background:var(--usait-orange);margin:14px auto 0;border-radius:3px}
.u-head.u-left .u-h2::after{margin-left:0}
.u-head.u-noline .u-h2::after{display:none}
.u-head p{color:var(--usait-muted);margin:0}

/* ---------- hero ---------- */
.u-hero{position:relative;overflow:hidden;background:radial-gradient(1200px 600px at 75% 40%,#DCE8FF 0%,#F2F6FE 45%,#FFFFFF 100%)}
.u-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(47,107,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(47,107,255,.06) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(circle at 70% 45%,#000 0%,transparent 70%);mask-image:radial-gradient(circle at 70% 45%,#000 0%,transparent 70%);pointer-events:none}
.u-hero .u-wrap{position:relative;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;min-height:640px;gap:24px}
.u-hero-text{padding-left:56px}
.u-slides{position:relative;min-height:390px}
.u-slide{position:absolute;inset:0;opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s;pointer-events:none}
.u-slide.on{opacity:1;transform:none;pointer-events:auto}
.u-kicker{color:var(--usait-orange);font-weight:600;font-size:13px;letter-spacing:.36em;text-transform:uppercase}
.u-hero .u-htitle{margin:14px 0 18px;font-size:46px;line-height:1.1;font-weight:800;color:var(--usait-navy);letter-spacing:-.02em}
.u-hero .u-htitle span{color:var(--usait-orange);display:block}
.u-hero p{margin:0 0 28px;font-size:17px;color:var(--usait-muted);max-width:500px}
.u-ctas{display:flex;gap:14px;flex-wrap:wrap}
.u-feats{display:flex;gap:22px;margin-top:8px;flex-wrap:wrap}
.u-feat{display:flex;gap:12px;align-items:center}
.u-feat .ic{width:44px;height:44px;border-radius:50%;background:var(--usait-navy);display:flex;align-items:center;justify-content:center;box-shadow:inset -3px -4px 8px rgba(0,0,0,.35),inset 3px 3px 6px rgba(255,255,255,.25),0 8px 16px rgba(11,42,107,.3);flex-shrink:0}
.u-feat .ic svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.u-feat b{display:block;font-size:13px;color:var(--usait-navy)}
.u-feat small{font-size:11.5px;color:var(--usait-muted)}
.u-scene{position:relative;height:600px}
.u-scene canvas{position:absolute;inset:-40px -60px;width:calc(100% + 120px)!important;height:calc(100% + 80px)!important;-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 62%,transparent 100%)}
.u-scene-img{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.u-scene-img img{max-height:100%;object-fit:contain;animation:u-float 6s ease-in-out infinite}
.u-labels{position:absolute;inset:0;pointer-events:none;opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s}
.u-labels.on{opacity:1;transform:none}
.u-chip-label{position:absolute;z-index:2;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);box-shadow:0 14px 30px rgba(11,42,107,.15);font-size:12px;font-weight:600;color:var(--usait-navy);display:flex;align-items:center;gap:8px;animation:u-float 5s ease-in-out infinite}
.u-chip-label i{width:9px;height:9px;border-radius:50%;background:var(--usait-orange);box-shadow:0 0 0 4px color-mix(in srgb,var(--usait-orange) 20%,transparent)}
.u-chip-label.l1{top:18%;left:2%}
.u-chip-label.l2{bottom:20%;right:2%;animation-delay:-2.5s}
.u-chip-label.l3{top:12%;right:8%;animation-delay:-1.2s}
@keyframes u-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.u-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:var(--usait-navy);color:#fff;display:flex;align-items:center;justify-content:center;z-index:5;box-shadow:0 10px 24px rgba(11,42,107,.3);cursor:pointer;transition:transform .25s}
.u-arrow:hover{transform:translateY(-50%) scale(1.08)}
.u-arrow svg{width:20px;height:20px}
.u-arrow.prev{left:20px}.u-arrow.next{right:20px}
.u-dots{position:absolute;bottom:26px;right:40px;display:flex;gap:8px;z-index:5}
.u-dots button{width:10px;height:10px;border-radius:999px;border:0;background:#B8C6E4;padding:0;cursor:pointer;transition:width .3s,background .3s}
.u-dots button.on{width:30px;background:var(--usait-orange)}

/* ---------- 3D clay icon ---------- */
.u-ico3d{position:relative;width:76px;height:76px;flex-shrink:0;animation:u-bob 4s ease-in-out infinite}
.u-ico3d .base{position:absolute;inset:0;border-radius:22px;background:linear-gradient(145deg,#4E8BFF 0%,#1C4FD8 45%,var(--usait-navy) 100%);box-shadow:inset -7px -9px 14px rgba(0,0,0,.28),inset 7px 7px 12px rgba(255,255,255,.4),0 18px 28px rgba(11,42,107,.32);transform:perspective(300px) rotateX(14deg) rotateY(-16deg)}
.u-ico3d.o .base{background:linear-gradient(145deg,#FFB077 0%,var(--usait-orange2) 45%,var(--usait-orange) 100%);box-shadow:inset -7px -9px 14px rgba(0,0,0,.22),inset 7px 7px 12px rgba(255,255,255,.45),0 18px 28px color-mix(in srgb,var(--usait-orange) 35%,transparent)}
.u-ico3d .base::after{content:"";position:absolute;left:10px;top:7px;width:38px;height:14px;border-radius:50%;background:rgba(255,255,255,.35);filter:blur(3px)}
.u-ico3d svg{position:absolute;inset:0;margin:auto;width:50%;height:50%;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 3px rgba(0,0,0,.35));transform:perspective(300px) rotateX(14deg) rotateY(-16deg) translateZ(14px)}
.u-ico3d .tag{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;color:#fff;text-shadow:0 3px 3px rgba(0,0,0,.35);transform:perspective(300px) rotateX(14deg) rotateY(-16deg) translateZ(10px)}
.u-ico3d::after{content:"";position:absolute;left:8px;right:8px;bottom:-22px;height:10px;border-radius:50%;background:rgba(11,42,107,.18);filter:blur(5px)}
@keyframes u-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

/* ---------- services ---------- */
.u-sec{padding:96px 0;position:relative}
.u-svc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;perspective:1200px}
.u-card3d{position:relative;display:block;background:#fff;border:1px solid var(--usait-line);border-radius:20px;padding:28px 24px;transform-style:preserve-3d;transition:transform .2s ease-out,box-shadow .3s;box-shadow:0 6px 18px rgba(11,42,107,.05)}
.u-card3d:hover{box-shadow:0 30px 50px rgba(11,42,107,.16)}
.u-card3d .shine{position:absolute;inset:0;border-radius:20px;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.7),transparent 45%);opacity:0;transition:opacity .3s}
.u-card3d:hover .shine{opacity:1}
.u-card3d .u-ico3d{transform:translateZ(60px)}
.u-card3d h3{margin:22px 0 8px;font-size:17px;line-height:1.35;color:var(--usait-navy)}
.u-card3d p{margin:0 0 16px;font-size:14px;color:var(--usait-muted)}
.u-more{font-size:13px;font-weight:600;color:var(--usait-orange)!important;display:inline-flex;gap:6px;align-items:center}
.u-more svg{width:14px;height:14px;transition:transform .3s}
.u-card3d:hover .u-more svg{transform:translateX(4px)}
.u-svc-grid .u-card3d:nth-child(2n) .u-ico3d{animation-delay:-1s}
.u-svc-grid .u-card3d:nth-child(3n) .u-ico3d{animation-delay:-2s}

/* ---------- services: AI dark style ---------- */
.u-services.u-ai{background:#061433;overflow:hidden;color:#fff}
.u-ai-bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(700px 380px at 15% 10%,rgba(47,107,255,.35),transparent 65%),radial-gradient(600px 360px at 90% 90%,rgba(242,107,29,.22),transparent 65%)}
.u-ai-bg::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(127,178,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(127,178,255,.08) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 40%,#000 20%,transparent 75%)}
.u-services.u-ai .u-wrap{position:relative}
.u-services.u-ai .u-h2{color:#fff}
.u-services.u-ai .u-head p{color:#B9C6E6}
.u-services.u-ai .u-card3d{--ac:#4E8BFF;--ac2:#2F6BFF;--acg:rgba(47,107,255,.45);padding:0;overflow:hidden;color:#fff;border:1px solid rgba(127,178,255,.22);background:linear-gradient(165deg,rgba(22,52,125,.85),rgba(7,22,62,.95));box-shadow:0 20px 40px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.08)}
.u-services.u-ai .u-card3d.c-orange{--ac:#FFB077;--ac2:#F26B1D;--acg:rgba(242,107,29,.45)}
.u-services.u-ai .u-card3d:hover{border-color:var(--ac);box-shadow:0 28px 60px rgba(0,0,0,.45),0 0 0 1px var(--ac),0 0 34px var(--acg)}
.u-services.u-ai .u-card3d .shine{background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.18),transparent 45%);z-index:3}
.u-services.u-ai .u-card3d h3{color:#fff;margin:0 0 8px}
.u-services.u-ai .u-card3d p{color:#B9C6E6}
.u-services.u-ai .u-more{color:var(--ac)!important}
.u-ai-body{padding:20px 22px 24px}
.u-ai-vis{position:relative;height:160px;overflow:hidden;background:radial-gradient(circle at 50% 52%,var(--acg),transparent 62%),linear-gradient(180deg,#071a45,#0a2459);border-bottom:1px solid rgba(127,178,255,.18)}
.u-circuit{position:absolute;inset:0;width:100%;height:100%}
.u-circuit .tr path{fill:none;stroke:rgba(127,178,255,.35);stroke-width:1.4}
.u-circuit .fl path{fill:none;stroke:var(--ac);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:10 160;animation:u-flow 2.6s linear infinite;filter:drop-shadow(0 0 4px var(--ac))}
.u-circuit .nd circle{fill:var(--ac);opacity:.85}
@keyframes u-flow{from{stroke-dashoffset:170}to{stroke-dashoffset:0}}
.u-ai-tag{position:absolute;left:12px;top:10px;z-index:2;font-size:10.5px;font-weight:700;letter-spacing:.14em;color:#CFE0FF;padding:3px 9px;border-radius:999px;background:rgba(127,178,255,.14);border:1px solid rgba(127,178,255,.3)}
.u-holo{position:absolute;left:50%;top:50%;width:104px;height:104px;transform:translate(-50%,-50%);z-index:2}
.u-holo .r{position:absolute;inset:0;border-radius:50%}
.u-holo .r1{border:1.5px dashed rgba(207,224,255,.55);animation:u-spin 14s linear infinite}
.u-holo .r2{inset:10px;border:2px solid transparent;border-top-color:var(--ac);border-right-color:var(--ac);animation:u-spin 3.2s linear infinite reverse;filter:drop-shadow(0 0 6px var(--ac))}
.u-holo .r3{inset:-10px;border:1px solid rgba(127,178,255,.18)}
.u-holo .core{position:absolute;inset:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,#fff 0%,var(--ac) 30%,var(--ac2) 70%);box-shadow:0 0 0 6px rgba(255,255,255,.06),0 0 30px var(--acg),inset 0 -6px 12px rgba(0,0,0,.25);animation:u-pulse 2.6s ease-in-out infinite}
.u-holo .core svg{width:28px;height:28px;stroke:#fff;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}
@keyframes u-spin{to{transform:rotate(360deg)}}
@keyframes u-pulse{0%,100%{box-shadow:0 0 0 6px rgba(255,255,255,.06),0 0 24px var(--acg)}50%{box-shadow:0 0 0 10px rgba(255,255,255,.04),0 0 44px var(--acg)}}
.u-ai-vis .scan{position:absolute;left:0;right:0;height:46px;top:-50px;background:linear-gradient(180deg,transparent,rgba(127,178,255,.22),transparent);animation:u-scan 3.8s ease-in-out infinite;z-index:1}
.u-svc-grid .u-card3d:nth-child(2n) .scan{animation-delay:-1.2s}.u-svc-grid .u-card3d:nth-child(3n) .scan{animation-delay:-2.4s}
@keyframes u-scan{0%{top:-50px}60%,100%{top:170px}}
@media (prefers-reduced-motion:reduce){.u-circuit .fl path,.u-holo .r,.u-holo .core,.u-ai-vis .scan{animation:none}}

/* ---------- about ---------- */
.u-about{background:var(--usait-soft)}
.u-about .u-wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
.u-about.u-media-right .u-media{order:2}
.u-globe-box{position:relative;height:460px;border-radius:28px;overflow:hidden;background:radial-gradient(circle at 50% 45%,#16408F 0%,var(--usait-navy) 45%,#061740 100%);box-shadow:0 30px 60px rgba(11,42,107,.3)}
.u-globe-box>img{width:100%;height:100%;object-fit:cover}
.u-globe{position:absolute;inset:0}
.u-quote{position:absolute;left:28px;bottom:28px;right:28px;padding:18px 22px;border-radius:16px;background:rgba(255,255,255,.12);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);color:#fff;font-weight:600;font-size:16px}
.u-quote::after{content:"";display:block;width:48px;height:3px;background:var(--usait-orange);margin-top:10px;border-radius:2px}
.u-about p{color:var(--usait-muted)}
.u-checks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 30px}
.u-checks span{display:flex;gap:10px;align-items:center;font-size:14px;font-weight:500;color:var(--usait-navy)}
.u-checks i{width:24px;height:24px;border-radius:50%;background:linear-gradient(145deg,var(--usait-orange2),var(--usait-orange));display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 6px 12px color-mix(in srgb,var(--usait-orange) 35%,transparent)}
.u-checks svg{width:13px;height:13px;stroke:#fff;stroke-width:3;fill:none}

/* ---------- stats ---------- */
.u-stats{background:linear-gradient(120deg,var(--usait-navy2),var(--usait-navy) 60%,#123B8F);color:#fff;padding:64px 0;overflow:hidden;position:relative}
.u-stats::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);mask-image:linear-gradient(90deg,transparent,#000 60%)}
.u-stats .u-wrap{position:relative;display:grid;grid-template-columns:1.3fr repeat(var(--u-cols,4),minmax(0,1fr));gap:24px;align-items:center}
.u-stats h3{margin:0 0 10px;font-size:28px;line-height:1.25;color:#fff}
.u-stats h3 span{color:var(--usait-orange2);display:block}
.u-stats p{margin:0;color:#C3D0EE;font-size:14px}
.u-stat{text-align:center}
.u-stat .u-ico3d{margin:0 auto 14px;width:62px;height:62px;animation:u-spinY 5s ease-in-out infinite}
.u-stat .u-ico3d::after{display:none}
@keyframes u-spinY{0%,100%{transform:perspective(400px) rotateY(-28deg) translateY(0)}50%{transform:perspective(400px) rotateY(28deg) translateY(-6px)}}
.u-stat b{display:block;font-size:34px;font-weight:800;color:var(--usait-orange2);line-height:1.1}
.u-stat small{color:#DCE5F8;font-size:13px}

/* ---------- tech flip tiles ---------- */
.u-tech{background:radial-gradient(900px 420px at 15% 0%,#E8F0FF 0%,transparent 60%),radial-gradient(800px 400px at 95% 100%,#FFF1E8 0%,transparent 60%),#fff;overflow:hidden}
.u-tech::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(11,42,107,.07) 1.2px,transparent 1.2px);background-size:26px 26px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);pointer-events:none}
.u-tech .u-wrap{position:relative}
.u-tech-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;perspective:1000px}
.u-flip{--c1:#4E8BFF;--c2:var(--usait-navy);--glow:rgba(47,107,255,.22);height:230px;position:relative;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.2,.8,.2,1);animation:u-tile 6s ease-in-out infinite;outline:none}
.u-flip.c-orange{--c1:#FFB077;--c2:var(--usait-orange);--glow:rgba(242,107,29,.22)}
.u-tech-grid .u-flip:nth-child(2n){animation-delay:-1.5s}.u-tech-grid .u-flip:nth-child(3n){animation-delay:-3s}.u-tech-grid .u-flip:nth-child(4n){animation-delay:-4.5s}
@keyframes u-tile{0%,100%{translate:0 0}50%{translate:0 -8px}}
.u-flip:hover,.u-flip:focus-visible{transform:rotateY(180deg)}
.u-flip .f,.u-flip .b{position:absolute;inset:0;border-radius:24px;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
.u-flip .f{border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(140deg,var(--c1),rgba(255,255,255,0) 45%,rgba(255,255,255,0) 60%,var(--c2)) border-box;box-shadow:0 18px 40px var(--glow),0 2px 6px rgba(11,42,107,.06);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:22px 16px;text-align:center}
.u-flip .f::before{content:"";position:absolute;width:180px;height:180px;right:-60px;top:-70px;border-radius:50%;background:radial-gradient(circle,var(--glow) 0%,transparent 70%)}
.u-flip .f::after{content:"";position:absolute;left:24%;right:24%;bottom:0;height:4px;border-radius:4px 4px 0 0;background:linear-gradient(90deg,var(--c1),var(--c2))}
.u-flip .num{position:absolute;left:16px;top:12px;font-size:12px;font-weight:700;color:#A9B6D3;letter-spacing:.08em}
.u-flip .cat{position:absolute;right:12px;top:12px;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;color:var(--c2);background:var(--glow)}
.u-flip .name{position:relative;font-weight:700;font-size:18px;color:var(--usait-navy);margin-top:8px}
.u-flip .hint{position:relative;display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--usait-muted)}
.u-flip .hint svg{width:13px;height:13px}
.u-flip .u-ico3d{width:72px;height:72px;animation:none;position:relative}
.u-flip .u-ico3d .base{border-radius:20px}
.u-flip .u-ico3d .tag{font-size:19px}
.u-flip .u-ico3d::after{bottom:-16px}
.u-flip .b{transform:rotateY(180deg);background:radial-gradient(circle at 80% 0%,rgba(255,255,255,.18),transparent 55%),linear-gradient(150deg,var(--c2),var(--usait-navy2));color:#fff;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:26px 24px;text-align:left;box-shadow:0 22px 44px var(--glow)}
.u-flip .b::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:22px 22px}
.u-flip .b>*{position:relative}
.u-flip .b .bi{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center}
.u-flip .b .bi svg{width:22px;height:22px}
.u-flip .b b{font-size:18px}
.u-flip .b p{margin:0;font-size:13.5px;line-height:1.5;color:#E3EAFB}

/* ---------- testimonials ---------- */
.u-testi{background:var(--usait-soft)}
.u-t-track{position:relative;max-width:760px;margin:0 auto;min-height:190px}
.u-t-card{background:#fff;border-radius:22px;padding:34px 40px;box-shadow:0 24px 50px rgba(11,42,107,.1);display:flex;gap:24px;align-items:flex-start;position:absolute;inset:0 0 auto 0;opacity:0;transform:translateX(40px) rotateY(-12deg);transition:opacity .6s,transform .6s;pointer-events:none}
.u-t-card.on{opacity:1;transform:none;pointer-events:auto;position:relative}
.u-t-card .av{flex:0 0 64px;height:64px;border-radius:50%;background:linear-gradient(145deg,#4E8BFF,var(--usait-navy));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;overflow:hidden;box-shadow:inset -4px -5px 10px rgba(0,0,0,.3),inset 4px 4px 8px rgba(255,255,255,.3)}
.u-t-card .av img{width:100%;height:100%;object-fit:cover}
.u-t-card blockquote{margin:0 0 14px;font-size:17px;color:var(--usait-ink);border:0;padding:0;font-style:normal}
.u-t-card b{color:var(--usait-navy)}
.u-t-card small{color:var(--usait-muted)}
.u-stars{color:var(--usait-orange);letter-spacing:3px;font-size:16px}
.u-t-dots{display:flex;gap:8px;justify-content:center;margin-top:24px}
.u-t-dots button{width:10px;height:10px;border-radius:999px;border:0;background:#B8C6E4;padding:0;cursor:pointer;transition:width .3s}
.u-t-dots button.on{width:28px;background:var(--usait-orange)}

/* ---------- blog cards ---------- */
.u-blog-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px;gap:16px;flex-wrap:wrap}
.u-blog-top .u-h2{margin-bottom:0}
.u-blog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;perspective:1200px}
.u-post{background:#fff;border:1px solid var(--usait-line);border-radius:18px;overflow:hidden;transform-style:preserve-3d;transition:transform .2s ease-out,box-shadow .3s;display:flex;flex-direction:column}
.u-post:hover{box-shadow:0 26px 46px rgba(11,42,107,.15)}
.u-post .thumb{position:relative;height:170px;overflow:hidden;background:var(--usait-soft)}
.u-post .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.u-post:hover .thumb img{transform:scale(1.08)}
.u-post .thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,42,107,.45),transparent 60%)}
.u-post .date{position:absolute;left:14px;bottom:12px;z-index:2;background:var(--usait-orange);color:#fff;font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px}
.u-post .body{padding:18px 20px 22px}
.u-post h4{margin:0 0 12px;font-size:16px;line-height:1.35;color:var(--usait-navy)}

/* ---------- CTA ---------- */
.u-cta{background:linear-gradient(120deg,var(--usait-navy2),var(--usait-navy));color:#fff;border-radius:28px;padding:56px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;position:relative;overflow:hidden}
.u-cta h3{margin:0 0 8px;font-size:30px;color:#fff}
.u-cta h3 span{color:var(--usait-orange2)}
.u-cta p{margin:0;color:#C3D0EE}

/* ---------- footer ---------- */
.u-footer{background:var(--usait-navy2);color:#C3D0EE;padding:72px 0 0;font-size:14px}
.u-footer .u-cols{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1.2fr;gap:40px}
.u-footer h5{margin:0 0 18px;color:#fff;font-size:16px}
.u-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.u-footer li a:hover{color:var(--usait-orange2)}
.u-footer .u-contact li{display:flex;gap:10px;align-items:center}
.u-footer .u-contact svg{width:16px;height:16px;stroke:var(--usait-orange2);fill:none;stroke-width:2;flex-shrink:0}
.u-f-brand{display:flex;gap:14px;align-items:center}
.u-f-brand .em{width:86px;height:86px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.u-f-brand .em img{width:74px;height:74px;object-fit:contain}
.u-f-brand b{color:#fff;display:block;font-size:14px;line-height:1.3}
.u-f-brand small{color:var(--usait-orange2);letter-spacing:.3em;font-weight:600}
.u-footer .u-socials{margin-top:18px}
.u-copy{margin-top:56px;border-top:1px solid rgba(255,255,255,.1)}
.u-copy .u-wrap{display:flex;justify-content:space-between;min-height:64px;align-items:center;font-size:13px;flex-wrap:wrap;gap:8px}

/* ---------- blog / page templates ---------- */
.u-page-hero{background:linear-gradient(120deg,var(--usait-navy2),var(--usait-navy));color:#fff;padding:72px 0}
.u-page-hero h1{margin:0;font-size:40px;color:#fff}
.u-page-hero p{margin:8px 0 0;color:#C3D0EE}
.u-content{padding:64px 0}
.u-content .entry{max-width:820px;margin:0 auto}
.u-content .entry img{border-radius:16px}
.u-posts-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.u-pagination{margin-top:40px;text-align:center}
.u-pagination .page-numbers{display:inline-flex;min-width:42px;height:42px;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--usait-line);margin:0 3px}
.u-pagination .current{background:var(--usait-orange);color:#fff;border-color:var(--usait-orange)}

.u-content .entry{font-size:16px}
.u-content input[type=text],.u-content input[type=email],.u-content input[type=url],.u-content textarea{width:100%;padding:12px 14px;border:1px solid var(--usait-line);border-radius:10px;font:inherit;background:#fff}
.u-content .comment-form p{margin:0 0 14px}
.u-content .comment-form label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:var(--usait-navy)}
.u-content .submit{background:linear-gradient(135deg,var(--usait-orange2),var(--usait-orange));color:#fff;border:0;border-radius:999px;padding:12px 26px;font:inherit;font-weight:600;cursor:pointer}

/* ---------- reveal on scroll ---------- */
.u-rv{opacity:0;transform:translateY(40px) perspective(800px) rotateX(10deg);transition:opacity .9s,transform .9s cubic-bezier(.2,.8,.2,1)}
.u-rv.in,.elementor-editor-active .u-rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.u-rv{opacity:1;transform:none}.u-ico3d,.u-chip-label,.u-stat .u-ico3d{animation:none}}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .u-burger{display:flex}
  .u-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--usait-line);padding:12px 24px 20px;box-shadow:0 20px 30px rgba(11,42,107,.1)}
  .u-nav.open{display:block}
  .u-nav ul{flex-direction:column;gap:4px}
  .u-nav .sub-menu{display:flex;position:static;box-shadow:none;padding:0 0 0 14px}
  .u-header .u-hbtn{display:none}
  .u-hero .u-wrap,.u-about .u-wrap{grid-template-columns:1fr}
  .u-about.u-media-right .u-media{order:0}
  .u-hero-text{padding:56px 0 0}
  .u-scene{height:420px}
  .u-svc-grid,.u-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .u-tech-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .u-stats .u-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
  .u-stats .u-intro{grid-column:1/-1}
  .u-footer .u-cols{grid-template-columns:1fr 1fr}
  .u-posts-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .u-hero .u-htitle{font-size:38px}
  .u-arrow{display:none}
}
@media (max-width:600px){
  .u-svc-grid,.u-blog-grid,.u-checks,.u-posts-list{grid-template-columns:1fr}
  .u-tech-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .u-flip{height:210px}
  .u-footer .u-cols{grid-template-columns:1fr}
  .u-t-card{flex-direction:column;padding:26px}
  .u-topbar .u-info span:nth-child(3){display:none}
  .u-brand .t1{font-size:12px}.u-brand .t2{font-size:10px}
  .u-h2{font-size:28px}
  .u-hero .u-htitle{font-size:32px}
  .u-slides{min-height:430px}
  .u-cta{padding:36px 28px}
  .u-sec{padding:72px 0}
}
