/* HSJ fx2: distinct layouts + interactive components */
.x{background:var(--bg);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;overflow-x:hidden;min-height:100vh}
.x .w{width:min(1180px,calc(100% - 44px));margin:auto;position:relative;z-index:2}
.x-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:9px 22px;background:var(--pn);border-bottom:3px solid var(--ac);font-size:11px;font-weight:800;letter-spacing:.05em}.x-top a{color:var(--ac)}
.x-tag{font-size:11px;letter-spacing:.2em;font-weight:800;text-transform:uppercase;color:var(--ac)}
.x-hero{position:relative;overflow:hidden;min-height:640px;display:flex;align-items:center;padding:96px 0 80px;background:radial-gradient(60% 70% at 85% 25%,color-mix(in srgb,var(--ac) 26%,transparent),transparent),var(--bg)}
.x-hero:before{content:"";position:absolute;inset:-25%;z-index:0;background:radial-gradient(34% 34% at 20% 70%,color-mix(in srgb,var(--ac) 22%,transparent),transparent 70%);animation:fxaur 16s ease-in-out infinite alternate}
.x-hero h1{font-size:clamp(46px,7vw,92px);line-height:.95;letter-spacing:-.05em;margin:14px 0 18px;max-width:800px}
.x-hero h1 em{display:block;font-style:normal;font-size:clamp(17px,2vw,24px);letter-spacing:-.01em;line-height:1.4;font-weight:500;opacity:.7;margin-top:16px;max-width:600px}
.x-hero p{max-width:560px;font-size:17px;line-height:1.75;opacity:.78;margin:0 0 26px}
.x-hero .x-tag,.x-hero h1,.x-hero p,.x-btns{animation:fxup .9s cubic-bezier(.2,.7,.2,1) both}.x-hero h1{animation-delay:.12s}.x-hero p{animation-delay:.25s}.x-btns{animation-delay:.38s}
.x-btns{display:flex;gap:12px;flex-wrap:wrap}.x-btn,.x-ghost{padding:14px 26px;border-radius:999px;font-weight:800;font-size:14px;transition:transform .3s}.x-btn{background:var(--ac);color:var(--on)}.x-ghost{box-shadow:inset 0 0 0 2px color-mix(in srgb,currentColor 30%,transparent)}.x-btn:hover,.x-ghost:hover{transform:translateY(-4px)}
.hv-center{text-align:center}.hv-center .w{display:flex;flex-direction:column;align-items:center}.hv-center .fx3d{width:100%;opacity:.45}.hv-center .x-btns{justify-content:center}
.hv-card .w>div{max-width:600px;padding:36px;border-radius:28px;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(14px);border:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}.hv-card .fx3d{width:70%}.hv-card h1{font-size:clamp(40px,5.4vw,70px)}
.hv-rev .fx3d{left:0;right:auto}.hv-rev .w{display:flex;justify-content:flex-end}.hv-rev .w>div{max-width:560px}
.hv-stack{display:block;padding-bottom:0;min-height:0}.hv-stack .fx3d{position:relative;width:100%;height:360px;display:block;margin-top:10px}.hv-stack h1{max-width:980px}
.bp:after{content:"";position:absolute;inset:0;z-index:0;background-image:linear-gradient(color-mix(in srgb,var(--ac) 16%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--ac) 16%,transparent) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 75%);mask-image:linear-gradient(90deg,transparent,#000 75%)}
.blob:after{content:"";position:absolute;right:-6%;top:6%;width:560px;height:560px;z-index:0;background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 35%,#fff));opacity:.3;animation:xmorph 12s ease-in-out infinite alternate}
@keyframes xmorph{0%{border-radius:44% 56% 62% 38%/48% 40% 60% 52%}100%{border-radius:60% 40% 38% 62%/40% 58% 42% 60%;transform:rotate(14deg) scale(1.08)}}
.x-ecg{width:min(560px,90%);height:70px;margin:0 0 20px}.x-ecg path{fill:none;stroke:var(--ac);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:900;stroke-dashoffset:900;animation:xecg 3.2s linear infinite}@keyframes xecg{to{stroke-dashoffset:-900}}
.x-sec{padding:84px 0;position:relative}.x-sec.alt{background:var(--pn)}.sh-diag{clip-path:polygon(0 5%,100% 0,100% 95%,0 100%);padding:130px 0}.sh-round{border-radius:56px 56px 0 0;margin-top:-44px;z-index:3}
.x-h2{font-size:clamp(30px,4vw,52px);line-height:1.02;letter-spacing:-.04em;margin:10px 0 14px}.x-p{max-width:640px;line-height:1.8;opacity:.75;margin:0 0 30px}
.x-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.x-bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.x-bento>div,.x-card{padding:28px;border-radius:22px;background:color-mix(in srgb,currentColor 6%,transparent);border:1px solid color-mix(in srgb,currentColor 14%,transparent);transition:transform .3s,border-color .3s;position:relative;overflow:hidden}
.x-bento>div:hover,.x-card:hover{border-color:var(--ac);box-shadow:0 22px 50px color-mix(in srgb,var(--ac) 28%,transparent)}
.x-bento>div:before,.x-card:before{content:"";position:absolute;right:-40px;top:-40px;width:130px;height:130px;border-radius:50%;background:var(--ac);opacity:.14;transition:transform .5s}.x-bento>div:hover:before,.x-card:hover:before{transform:scale(1.8)}
.x-bento b,.x-card b{color:var(--ac);font-size:12px;letter-spacing:.14em}.x-bento h3,.x-card h3{margin:10px 0 8px;font-size:21px}.x-bento p,.x-card p{margin:0;opacity:.75;line-height:1.7;font-size:14.5px}
.x-tabs .x-tb{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.x-tabs button{border:1px solid color-mix(in srgb,currentColor 22%,transparent);background:transparent;color:inherit;padding:11px 18px;border-radius:999px;font:inherit;font-weight:700;cursor:pointer;transition:.3s}
.x-tabs button.on{background:var(--ac);border-color:var(--ac);color:var(--on,#fff);transform:translateY(-3px);box-shadow:0 10px 26px color-mix(in srgb,var(--ac) 40%,transparent)}
.x-pane{display:none;padding:30px;border-radius:22px;background:color-mix(in srgb,currentColor 6%,transparent);border:1px solid color-mix(in srgb,currentColor 14%,transparent)}.x-pane.on{display:block;animation:fxup .5s both}.x-pane h3{font-size:26px;margin:0 0 8px}.x-pane p{margin:0;opacity:.78;line-height:1.75;max-width:640px}
.x-flip{perspective:1000px;height:210px;cursor:pointer}.x-flip>div{position:relative;height:100%;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.x-flip:hover>div,.x-flip.fl>div{transform:rotateY(180deg)}
.x-flip span{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:22px;padding:24px;display:flex;flex-direction:column;justify-content:center}
.x-flip .f{background:color-mix(in srgb,currentColor 7%,transparent);border:1px solid color-mix(in srgb,currentColor 16%,transparent);font-size:20px;font-weight:800;line-height:1.25}.x-flip .f small{font-size:11px;letter-spacing:.16em;color:var(--ac);margin-bottom:8px}
.x-flip .b{background:var(--ac);color:var(--on,#fff);transform:rotateY(180deg);font-size:14.5px;line-height:1.65}
.x-ring{height:340px;perspective:1200px;display:flex;align-items:center;justify-content:center;overflow:hidden}.x-ring>div{position:relative;width:230px;height:150px;transform-style:preserve-3d;animation:xspin 36s linear infinite}.x-ring:hover>div{animation-play-state:paused}
.x-ring span{position:absolute;inset:0;padding:18px;border-radius:16px;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:rotateY(calc(var(--i)*360deg/var(--n))) translateZ(330px);background:color-mix(in srgb,var(--bg) 86%,var(--ac));border:2px solid var(--ac);font-size:13px;line-height:1.5}.x-ring b{display:block;font-size:16px;color:var(--ac);margin-bottom:6px}
@keyframes xspin{to{transform:rotateY(-360deg)}}
.x-tl{position:relative;padding-left:58px;--p:0}.x-tl:before,.x-tl:after{content:"";position:absolute;left:19px;top:6px;bottom:6px;width:3px;border-radius:3px}.x-tl:before{background:color-mix(in srgb,currentColor 16%,transparent)}.x-tl:after{background:var(--ac);transform-origin:0 0;transform:scaleY(var(--p))}
.x-tl>div{position:relative;padding:0 0 36px}.x-tl>div:before{content:attr(data-n);position:absolute;left:-58px;top:0;width:42px;height:42px;border-radius:50%;background:var(--ac);color:var(--on,#fff);display:grid;place-items:center;font-weight:800;box-shadow:0 0 0 6px color-mix(in srgb,var(--ac) 20%,transparent)}
.x-tl small{color:var(--ac);font-weight:800;letter-spacing:.12em;font-size:11px;text-transform:uppercase}.x-tl h3{margin:2px 0 4px;font-size:23px}.x-tl p{margin:6px 0 0;opacity:.78;line-height:1.7;max-width:620px}
.x-chk{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.x-chk label{cursor:pointer;position:relative}.x-chk input{position:absolute;opacity:0;pointer-events:none}
.x-chk span{display:inline-block;padding:12px 18px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 24%,transparent);font-weight:700;transition:.3s}.x-chk input:checked+span{background:var(--ac);border-color:var(--ac);color:var(--on,#fff);transform:translateY(-3px) scale(1.04)}.x-chk input:focus-visible+span{outline:3px solid var(--ac);outline-offset:3px}
.x-out{list-style:none;margin:0;padding:0;display:grid;gap:10px}.x-out li{display:none;padding:16px 20px;border-radius:14px;border-left:4px solid var(--ac);background:color-mix(in srgb,currentColor 6%,transparent);line-height:1.6;font-size:14.5px}.x-out li.on{display:block;animation:fxup .4s both}.x-out li b{display:block}.x-empty{opacity:.6;font-style:italic;margin:0}
.x-acc details{border-bottom:1px solid color-mix(in srgb,currentColor 16%,transparent)}.x-acc summary{cursor:pointer;list-style:none;padding:20px 50px 20px 0;font-weight:800;font-size:18px;position:relative}.x-acc summary::-webkit-details-marker{display:none}
.x-acc summary:after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--ac);color:var(--ac);transition:.3s}.x-acc details[open] summary:after{content:"\2212";background:var(--ac);color:var(--on,#fff)}.x-acc p{margin:0 0 20px;opacity:.78;line-height:1.75;max-width:700px;animation:fxup .4s both}
.x-mq{overflow:hidden;padding:26px 0;border-block:1px solid color-mix(in srgb,currentColor 16%,transparent)}.x-mq div{display:flex;gap:46px;width:max-content;animation:xmq 34s linear infinite;font-size:clamp(22px,3.4vw,40px);font-weight:800;letter-spacing:-.02em;white-space:nowrap}.x-mq span:nth-child(even){color:var(--ac)}@keyframes xmq{to{transform:translateX(-50%)}}
.x-foot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:30px 22px 40px;font-size:13px;opacity:.8}.x-foot nav{display:flex;gap:16px;flex-wrap:wrap}.x-foot a:hover{color:var(--ac)}
.x-mod{padding:76px 0 50px;border-top:1px solid color-mix(in srgb,currentColor 14%,transparent);--ac:var(--fxc);--on:#fff;position:relative}.x-mod h2{margin:8px 0 12px;font-size:clamp(28px,3.6vw,42px);letter-spacing:-.03em;line-height:1.05}.x-mod .kicker{color:var(--fxc)}
.x-mx{display:grid;grid-template-columns:minmax(260px,400px) 1fr;gap:34px;align-items:center}.x-mx .g{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;transform:perspective(700px) rotateX(16deg) rotateZ(-3deg);margin-bottom:12px}
.x-mx .g button{aspect-ratio:1;border:0;border-radius:10px;color:#fff;font-weight:800;cursor:pointer;transition:transform .25s,box-shadow .25s}.x-mx .g button:hover{transform:translateZ(20px) scale(1.14);box-shadow:0 14px 24px rgba(0,0,0,.3)}
.x-mx .o,.x-cl .o{padding:22px;border-radius:16px;background:color-mix(in srgb,currentColor 6%,transparent);line-height:1.7;margin:0}
.x-cl{display:grid;gap:18px;max-width:740px}.x-cl label{display:block;font-weight:700}.x-cl output{float:right;color:var(--ac)}.x-cl input{width:100%;accent-color:var(--ac)}
.x-bar{height:38px;border-radius:999px;overflow:hidden;display:flex;background:color-mix(in srgb,currentColor 12%,transparent)}.x-bar i{display:grid;place-items:center;height:100%;transition:width .4s;font-style:normal;font-size:12px;font-weight:800;color:#fff;overflow:hidden;white-space:nowrap}
.sv-risk .risk-hero{clip-path:polygon(0 0,100% 0,100% 90%,0 100%)}.sv-general .general-hero{clip-path:ellipse(80% 100% at 50% 0)}.sv-claims .claims-hero{clip-path:polygon(0 0,100% 0,100% 100%,50% 93%,0 100%)}.sv-claims .fx3d{top:auto;bottom:0;height:62%}
.sv-medical .medical-hero{margin:78px 18px 0;border-radius:36px}.sv-life .life-hero{border-radius:0 0 50% 50%/0 0 70px 70px}.sv-reinsurance .re-hero{clip-path:polygon(0 0,100% 0,100% 84%,88% 84%,88% 100%,0 100%)}.sv-reinsurance .fx3d{width:100%;opacity:.4}
@media(max-width:820px){.x-grid,.x-bento,.x-mx{grid-template-columns:1fr}.x-bento>div{grid-column:auto!important}.x-ring span{transform:rotateY(calc(var(--i)*360deg/var(--n))) translateZ(230px)}.x-ring>div{width:190px}.hv-card .fx3d,.hv-rev .fx3d{width:100%;opacity:.3}.hv-rev .w{justify-content:flex-start}.blob:after{width:340px;height:340px}.x-hero{min-height:0}}
@media(prefers-reduced-motion:reduce){.x-ring>div,.x-mq div{animation:none}}

.x-sec,.x-mod{overflow:hidden}.x-mod>.wrap{position:relative;z-index:2}
.x-cube{position:absolute;width:64px;height:64px;transform-style:preserve-3d;animation:xcube 18s linear infinite;pointer-events:none;opacity:.55;z-index:1}
.x-cube i{position:absolute;inset:0;border:2px solid var(--ac,var(--fxc));background:color-mix(in srgb,var(--ac,var(--fxc)) 12%,transparent)}
.x-cube i:nth-child(1){transform:translateZ(32px)}.x-cube i:nth-child(2){transform:rotateY(180deg) translateZ(32px)}.x-cube i:nth-child(3){transform:rotateY(90deg) translateZ(32px)}.x-cube i:nth-child(4){transform:rotateY(-90deg) translateZ(32px)}.x-cube i:nth-child(5){transform:rotateX(90deg) translateZ(32px)}.x-cube i:nth-child(6){transform:rotateX(-90deg) translateZ(32px)}
@keyframes xcube{to{transform:rotateX(360deg) rotateY(720deg)}}
.x-orb{position:absolute;border:3px solid var(--ac,var(--fxc));border-radius:50%;opacity:.4;pointer-events:none;z-index:1;animation:xorb 12s linear infinite}@keyframes xorb{from{transform:rotateX(70deg) rotateZ(0)}to{transform:rotateX(70deg) rotateZ(360deg)}}
.x-w{display:inline-block;transform-origin:50% 100%;animation:xw .9s cubic-bezier(.2,.7,.2,1) both}@keyframes xw{from{opacity:0;transform:perspective(600px) rotateX(-85deg) translateY(30px)}}
.x-h2 .x-w,.x-mod h2 .x-w{animation-play-state:paused}.x-h2.in .x-w,.x-mod.in h2 .x-w{animation-play-state:running}
.tl2.in{transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0px))!important;transition:transform .25s ease-out,box-shadow .3s,border-color .3s}
.tl2:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(260px at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.22),transparent 60%)}.tl2:hover:after{opacity:1}
.x-show{--ac:var(--fxc);position:relative;height:500px;overflow:hidden;background:radial-gradient(60% 70% at 50% 65%,color-mix(in srgb,var(--fxc) 26%,transparent),transparent 70%)}
.x-show .fx3d{position:absolute!important;inset:0;width:100%!important;height:100%!important;opacity:1!important;z-index:1}
.x-showh{position:absolute;left:max(22px,calc(50% - 590px));top:34px;z-index:2;pointer-events:none}.x-showh .x-tag{color:var(--fxc)}
.x-hint{position:absolute;right:24px;bottom:18px;z-index:2;font-size:12px;opacity:.6;pointer-events:none}
@media(max-width:820px){.x-show{height:420px}.x-cube{opacity:.3}}
@media(prefers-reduced-motion:reduce){.x-cube,.x-orb,.x-w{animation:none}}