/* Lacen English visual system: scoped to the content added to English pages. */
.lacen-visual{position:relative;overflow:hidden;background:linear-gradient(135deg,#f7faff 0%,#fff 58%,#eef7ff 100%);border:1px solid rgba(27,83,148,.14);box-shadow:0 14px 44px rgba(27,72,125,.10);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.lacen-visual:before{content:"";position:absolute;width:210px;height:210px;right:-90px;top:-100px;border-radius:50%;background:radial-gradient(circle,rgba(42,126,210,.18),rgba(42,126,210,0) 70%);pointer-events:none}
.lacen-visual:hover{transform:translateY(-4px);border-color:rgba(27,83,148,.28);box-shadow:0 20px 54px rgba(27,72,125,.16)}
.lacen-visual-grid{position:relative;z-index:1;gap:38px}
.lacen-visual-grid>div:first-child{display:flex;flex-direction:column;gap:12px}
.lacen-visual h2{font-size:clamp(1.45rem,2.3vw,2.15rem);line-height:1.16;letter-spacing:-.025em;margin:0;color:#123d78}
.lacen-visual p{font-size:1.04rem;line-height:1.75;color:#4b6380;margin:0;max-width:620px}
.lacen-visual img{aspect-ratio:16/9;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.lacen-visual img:hover{transform:scale(1.025);filter:saturate(1.08) contrast(1.03)}
.lacen-chart{display:block;width:100%;min-height:250px;border:1px solid #e6edf7;box-shadow:0 8px 24px rgba(25,63,108,.07);transition:transform .45s ease,box-shadow .35s ease}
.lacen-chart:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 14px 32px rgba(25,63,108,.13)}
.lacen-cards{position:relative;z-index:1;gap:16px}
.lacen-card{position:relative;overflow:hidden;min-height:100px;border:1px solid rgba(30,83,145,.11);box-shadow:0 5px 16px rgba(35,75,120,.05);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.lacen-card:after{content:"";position:absolute;left:0;bottom:0;width:0;height:3px;background:linear-gradient(90deg,#1967b3,#36b89b);transition:width .35s ease}
.lacen-card:hover{transform:translateY(-5px);border-color:rgba(30,104,177,.25);box-shadow:0 12px 26px rgba(35,75,120,.12)}
.lacen-card:hover:after{width:100%}
.lacen-card strong{font-size:1.05rem;letter-spacing:.01em}
.lacen-card span{color:#536b85;line-height:1.55}
.lacen-cta{position:relative;overflow:hidden;background:linear-gradient(105deg,#123d78,#1769a9 68%,#198c98);box-shadow:0 9px 22px rgba(18,61,120,.2);font-size:1.02rem;line-height:1.6;transition:transform .3s ease,box-shadow .3s ease}
.lacen-cta:after{content:"→";float:right;font-size:1.4em;line-height:1;margin-left:14px;opacity:.9}
.lacen-cta:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(18,61,120,.28)}
.lacen-visual.is-visible{animation:lacenFadeUp .7s cubic-bezier(.2,.7,.2,1) both}
@keyframes lacenFadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:700px){.lacen-visual{padding:22px 18px;margin:28px 0}.lacen-visual-grid{gap:22px}.lacen-visual-grid>div:first-child{gap:9px}.lacen-visual p{font-size:.98rem}.lacen-chart{min-height:0}.lacen-card{min-height:0}.lacen-cta:after{display:none}}
@media (prefers-reduced-motion:reduce){.lacen-visual,.lacen-visual img,.lacen-chart,.lacen-card,.lacen-cta{transition:none}.lacen-visual.is-visible{animation:none}}
/* Final polish: remove the visually empty legacy placeholder inside the enhanced block. */
.lacen-visual .lacen-visual-grid > div:first-child > .lacen-chart { display:none; }
