/* Lonbo visual refinement — depth, clarity and restrained motion */
:root{
  --shadow-soft:0 12px 34px rgba(15,37,71,.08);
  --shadow-float:0 22px 54px rgba(15,37,71,.14),0 4px 14px rgba(15,37,71,.06);
  --edge-highlight:inset 0 1px 0 rgba(255,255,255,.78);
}

body{overflow-x:hidden;background:#fdfefe}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;background:linear-gradient(115deg,rgba(255,255,255,.035),transparent 28%);mix-blend-mode:soft-light}

.btn{position:relative;overflow:hidden;box-shadow:0 8px 18px rgba(15,37,71,.12);transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.22) 48%,transparent 70%);transform:translateX(-145%);transition:transform .55s ease}
.btn:hover::after{transform:translateX(145%)}
.btn:hover{box-shadow:0 13px 26px rgba(15,37,71,.19)}
.btn:focus-visible,.menu a:focus-visible,.svc:focus-visible,.langtoggle button:focus-visible{outline:3px solid rgba(47,111,192,.35);outline-offset:4px}

header.nav{transition:box-shadow .3s ease,background-color .3s ease}
header.nav.is-scrolled{background:rgba(255,255,255,.975);box-shadow:0 10px 30px rgba(15,37,71,.09)}
.brand img{transition:transform .3s ease,filter .3s ease}
.brand:hover img{transform:translateY(-1px);filter:drop-shadow(0 6px 8px rgba(15,37,71,.15))}

.hero{isolation:isolate;background:linear-gradient(124deg,#091c36 0%,#123e79 48%,#2868b6 100%)}
.hero::before{z-index:-2;background:radial-gradient(circle at 78% 22%,rgba(96,183,255,.22),transparent 35%),radial-gradient(circle at 12% 82%,rgba(225,30,38,.12),transparent 31%)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(90deg,transparent 6%,#000 58%,transparent 100%);transform:perspective(720px) rotateX(62deg) scale(1.45) translateY(24%);transform-origin:center bottom}
.hero .swoosh{opacity:.32;filter:blur(14px);animation:lonboDrift 10s ease-in-out infinite alternate}
.hero .tag{box-shadow:var(--edge-highlight),0 9px 26px rgba(3,15,31,.16);backdrop-filter:blur(12px)}
.hero h1{text-shadow:0 8px 28px rgba(3,15,31,.28)}
.hero h1 .accent{color:#ff6b70;text-shadow:0 8px 26px rgba(225,30,38,.26)}
.hero-card{position:relative;isolation:isolate;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.055));border-color:rgba(255,255,255,.24);box-shadow:0 30px 70px rgba(3,15,31,.28),inset 0 1px 0 rgba(255,255,255,.26);backdrop-filter:blur(16px);transform:perspective(1100px) rotateY(-4deg) rotateX(1deg);transition:transform .45s ease,box-shadow .45s ease}
.hero-card::before{content:"";position:absolute;inset:10px -10px -10px 10px;border:1px solid rgba(255,255,255,.11);border-radius:20px;z-index:-1}
.hero-card::after{content:"";position:absolute;width:180px;height:180px;right:-64px;top:-76px;border-radius:50%;background:radial-gradient(circle,rgba(126,201,255,.26),transparent 68%);pointer-events:none}
.hero-card:hover{transform:perspective(1100px) rotateY(-1deg) translateY(-5px);box-shadow:0 38px 82px rgba(3,15,31,.34),inset 0 1px 0 rgba(255,255,255,.3)}
.hero-card h3{display:flex;align-items:center;gap:10px}
.hero-card h3::before{content:"";width:8px;height:8px;border-radius:50%;background:#58d68d;box-shadow:0 0 0 5px rgba(88,214,141,.14),0 0 16px rgba(88,214,141,.55)}
.hero-card li{padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(5,22,45,.14);transition:background .25s ease,transform .25s ease}
.hero-card li:hover{background:rgba(255,255,255,.09);transform:translateX(4px)}

.stats .grid{box-shadow:var(--shadow-float),var(--edge-highlight)}
.stats .cell{position:relative;background:linear-gradient(180deg,#fff,#fbfdff);transition:background .25s ease,transform .25s ease}
.stats .cell::after{content:"";position:absolute;left:24%;right:24%;bottom:0;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--blue),var(--red));transform:scaleX(0);transition:transform .3s ease}
.stats .cell:hover{background:#fff;transform:translateY(-3px)}
.stats .cell:hover::after{transform:scaleX(1)}

.sec.alt{background-color:#f4f7fb;background-image:radial-gradient(circle at 7% 8%,rgba(47,111,192,.08),transparent 25%),radial-gradient(circle at 94% 90%,rgba(225,30,38,.045),transparent 24%)}
.eyebrow{position:relative;padding-left:28px}
.eyebrow::before{content:"";position:absolute;left:0;top:50%;width:18px;height:2px;background:linear-gradient(90deg,var(--red),#ff7b80);transform:translateY(-50%)}
.head-center .eyebrow{padding-right:28px}
.head-center .eyebrow::after{content:"";position:absolute;right:0;top:50%;width:18px;height:2px;background:linear-gradient(90deg,#ff7b80,var(--red));transform:translateY(-50%)}

.about .visual{isolation:isolate;background:linear-gradient(145deg,#2466ae 0%,#123d74 48%,#091c36 100%);box-shadow:var(--shadow-float)}
.about .visual::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.16),transparent 34%);z-index:-1}
.about .visual::after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;left:-58px;bottom:-68px;background:radial-gradient(circle,rgba(225,30,38,.48),rgba(225,30,38,0) 70%);z-index:-1}
.about .visual .badge{box-shadow:0 28px 64px rgba(2,14,31,.3),var(--edge-highlight);transform:perspective(800px) rotateY(-5deg);transition:transform .4s ease}
.about .visual:hover .badge{transform:perspective(800px) rotateY(0) translateY(-5px)}
.about .visual .ring{animation:lonboSpin 28s linear infinite}
.check{box-shadow:0 7px 15px rgba(28,79,150,.23)}

.svc{isolation:isolate;background:linear-gradient(145deg,#fff 0%,#fbfdff 100%);box-shadow:0 8px 24px rgba(15,37,71,.045),var(--edge-highlight);transition:transform .35s cubic-bezier(.2,.75,.25,1),box-shadow .35s ease,border-color .35s ease}
#business .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.svc::after{content:"";position:absolute;width:170px;height:170px;right:-90px;bottom:-105px;border-radius:50%;background:radial-gradient(circle,rgba(47,111,192,.11),transparent 70%);z-index:-1;transition:transform .4s ease}
.svc:hover{transform:translateY(-8px);box-shadow:var(--shadow-float);border-color:rgba(47,111,192,.17)}
.svc:hover::after{transform:scale(1.35)}
.svc .ic{box-shadow:inset 0 0 0 1px rgba(47,111,192,.07),0 8px 18px rgba(15,37,71,.08);transition:transform .3s ease,background-color .3s ease,color .3s ease}
.svc:hover .ic{transform:translateY(-3px) rotate(-2deg);box-shadow:0 12px 24px rgba(28,79,150,.22)}
.feat .f{background:linear-gradient(145deg,#fff,#fbfdff);box-shadow:0 8px 26px rgba(15,37,71,.055),var(--edge-highlight);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.feat .f:hover{transform:translateY(-5px);border-color:rgba(47,111,192,.16);box-shadow:var(--shadow-soft)}

.cinfo .ci .ic{box-shadow:0 12px 26px rgba(28,79,150,.22),inset 0 1px 0 rgba(255,255,255,.24)}
form.qf{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#fbfdff);box-shadow:var(--shadow-float),var(--edge-highlight)}
form.qf::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--blue),var(--red))}
footer{position:relative;overflow:hidden;background:linear-gradient(145deg,#0b1e3a,#112b51)}
footer::before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.05);border-radius:50%;right:-220px;top:-300px;box-shadow:0 0 0 70px rgba(255,255,255,.018),0 0 0 140px rgba(255,255,255,.012)}

/* Service detail pages */
.pbanner{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(125deg,#091c36,#164987 58%,#2868b6);box-shadow:inset 0 -1px 0 rgba(255,255,255,.12)}
.pbanner::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:48px 48px;opacity:.13;mask-image:linear-gradient(90deg,transparent,#000 62%,transparent)}
.pbanner .count{box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 28px rgba(2,15,31,.18);backdrop-filter:blur(10px)}
.eq-card{background:linear-gradient(145deg,#fff,#fbfdff);box-shadow:0 10px 30px rgba(15,37,71,.07),var(--edge-highlight);transition:transform .35s cubic-bezier(.2,.75,.25,1),box-shadow .35s ease,border-color .35s ease}
.eq-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-float);border-color:rgba(47,111,192,.18)}
.eq-photo{position:relative;overflow:hidden}
.eq-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.36) 48%,transparent 72%);transform:translateX(-130%);transition:transform .7s ease;pointer-events:none}
.eq-card:hover .eq-photo::after{transform:translateX(130%)}
.eq-photo img{transition:transform .45s ease}
.eq-card:hover .eq-photo img{transform:scale(1.035)}

.reveal-ready{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.25,1)}
.reveal-ready.is-visible{opacity:1;transform:none}

@keyframes lonboSpin{to{transform:rotate(360deg)}}
@keyframes lonboDrift{to{transform:rotate(22deg) translate3d(-3%,2%,0)}}

@media(max-width:900px){
  .hero-card{transform:none}
  .hero::after{opacity:.1}
}
@media(max-width:600px){
  .btn{box-shadow:0 6px 14px rgba(15,37,71,.1)}
  #business .svc-grid{grid-template-columns:1fr}
  .stats .cell:hover,.svc:hover,.feat .f:hover,.eq-card:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal-ready{opacity:1;transform:none}
}

