/* MagicMed visual refinements — desktop full bleed and responsive */
:root{--max:1680px}
.wrap{width:calc(100% - clamp(32px,5.5vw,112px));max-width:1680px}
@media(min-width:1850px){.wrap{max-width:none;width:calc(100% - 7vw)}}
/* Make bubble scene compact while respecting large badges */
.bubble-section{padding:62px 0 72px!important}
.bubble-section .section-top{margin-bottom:25px}
.physics-world{height:330px!important;border-radius:34px;overflow:hidden}
.bubble-item{width:215px;height:215px}
.bubble-item img{max-width:166px;max-height:142px}
.bubble-nav{margin:24px 0 0}
/* Remove obsolete decorative glass/stripe artifact by hero action row */
.hero .buttons::before,.hero .buttons::after,.hero-points::before,.hero-points::after{display:none!important;content:none!important}
.hero .buttons{isolation:isolate;position:relative;z-index:5}
.hero .buttons .btn{backdrop-filter:none;-webkit-backdrop-filter:none;transform:none;filter:none;opacity:1}
.hero .buttons .btn:hover{transform:translateY(-3px)}
.hero .buttons>a:not(.btn){display:none}
/* Client gallery — clean sizing, big entrance and interactive ring */
.clients-showcase{background:linear-gradient(160deg,#f3f9ff 0%,#fff 48%,#f0f7ff 100%);overflow:hidden}
.clients-showcase .intro{margin-bottom:42px}
.clients-showcase .customers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,34px);perspective:1300px}
.clients-showcase .customer{width:100%;height:240px;display:flex;align-items:center;justify-content:center;padding:25px 24px 48px;position:relative;border-radius:29px;background:radial-gradient(circle at 50% 5%,#fff,#f1f9ff 90%);border:1px solid #d9e9f7;box-shadow:0 24px 46px #0b396c14, inset 0 1px #fff;transform-style:preserve-3d;overflow:hidden;transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .5s,border-color .4s!important}
.clients-showcase .customer:before{content:'';position:absolute;inset:12px;border-radius:23px;border:1px solid rgba(35,138,213,.11);background:radial-gradient(circle at 50% 55%,rgba(67,191,229,.12),transparent 70%);pointer-events:none}
.clients-showcase .customer:after{content:'';position:absolute;width:175px;height:175px;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-25deg);border:1px solid #4cc6ed35;border-radius:50%;box-shadow:0 0 0 20px #32a4f508,0 0 0 42px #39ace907;pointer-events:none;transition:transform .7s ease}
.clients-showcase .customer img{max-height:138px;max-width:93%;width:auto;height:auto;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 12px 12px #0b345f22);transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .5s}
.clients-showcase .customer-name{bottom:20px;color:#164777;font-weight:800;font-size:13px;line-height:1.3}
.clients-showcase .customer:hover{border-color:#80d5eb;transform:translateY(-16px) rotateY(var(--cx,0deg)) rotateX(var(--cy,0deg))!important;box-shadow:0 38px 60px #135b9d2d,0 0 0 1px #83dceb44}
.clients-showcase .customer:hover img{transform:translateZ(35px) scale(1.13) rotate(-3deg);filter:drop-shadow(0 18px 17px #0b345f2d)}
.clients-showcase .customer:hover:after{transform:translate(-50%,-50%) rotate(45deg) scale(1.17)}
.clients-showcase .customer{--client-delay:0ms}
.clients-showcase .customer.motion-enter{animation:client-arrive 950ms cubic-bezier(.16,1,.3,1) both;animation-delay:var(--client-delay)}
@keyframes client-arrive{0%{opacity:0;transform:translate3d(0,95px,-100px) rotateY(-23deg) scale(.75)}65%{opacity:1}100%{opacity:1;transform:translate3d(0,0,0) rotateY(0) scale(1)}}
@media(max-width:1050px){.clients-showcase .customers{grid-template-columns:repeat(2,minmax(0,1fr))}.physics-world{height:310px!important}}
@media(max-width:650px){.wrap{width:calc(100% - 32px)}.bubble-section{padding:40px 0 48px!important}.physics-world{height:330px!important}.bubble-item{width:128px;height:128px}.bubble-item img{max-width:100px;max-height:83px}.clients-showcase .customers{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.clients-showcase .customer{height:185px;padding:16px 10px 43px}.clients-showcase .customer img{max-height:105px}.clients-showcase .customer-name{font-size:10px;bottom:12px}}
@media(prefers-reduced-motion:reduce){.clients-showcase .customer.motion-enter{animation:none!important}}

/* FIX: consistent page content measure; overrides previous full-bleed expansion */
:root{--max:1240px}
html,body{max-width:100%;overflow-x:clip}
.wrap, .header .wrap, .hero .wrap, .hero-grid, .section>.wrap, .footer>.wrap, .page-hero>.wrap {
  width:min(1240px,calc(100% - 44px))!important; max-width:1240px!important; margin-left:auto!important; margin-right:auto!important;
}
.hero-grid{box-sizing:border-box}
@media (min-width:1850px){.wrap,.header .wrap,.hero .wrap,.hero-grid,.section>.wrap,.footer>.wrap,.page-hero>.wrap{width:min(1240px,calc(100% - 44px))!important;max-width:1240px!important}}
@media(max-width:720px){.wrap,.header .wrap,.hero .wrap,.hero-grid,.section>.wrap,.footer>.wrap,.page-hero>.wrap{width:calc(100% - 32px)!important}}
