.idx-wrap{max-width:1080px;margin:0 auto;padding:64px 24px 72px}
.idx-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media (max-width:760px){
.idx-grid{grid-template-columns:1fr}
}
.idx-card{display:flex;align-items:flex-start;gap:16px;background:#fff;border:1.5px solid #cdd9e5;border-radius:14px;padding:24px 24px;text-decoration:none;color:inherit;transition:.3s}
.idx-card:hover{box-shadow:0 16px 36px rgba(10,37,64,.12);transform:translateY(-4px);border-color:var(--blue)}
.idx-ic{flex-shrink:0;width:100px;height:100px;border-radius:14px;background:var(--blue-pale);display:flex;align-items:center;justify-content:center;overflow:hidden}
.idx-ic svg{width:100%;height:100%;display:block}
@media (max-width:520px){
.idx-ic{width:76px;height:76px;border-radius:12px}
}
.idx-body{flex:1}
.idx-body h3{font-family:var(--serif);font-size:18px;font-weight:800;color:var(--navy);margin:0 0 6px;line-height:1.4}
.idx-body p{font-size:14px;color:var(--gray);line-height:1.7;margin:0}
.idx-body .go{display:inline-block;margin-top:10px;font-size:13.5px;font-weight:700;color:var(--blue)}
.crumb{background:var(--bg);border-bottom:1px solid var(--line);padding:12px 0;font-size:13.5px;color:var(--gray)}
.hero{background:linear-gradient(120deg,#0a2540,#143a63 60%,#1a6dc4);color:#fff;position:relative;overflow:hidden;padding:80px 0 84px}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(720px 420px at 80% 16%,rgba(47,143,224,.28),transparent 62%)}
.hero-inner{position:relative;z-index:2;max-width:860px}
.hero .eyebrow{display:inline-block;font-family:var(--latin);font-weight:700;font-size:13.5px;letter-spacing:.14em;color:var(--sky);border:1px solid rgba(255,255,255,.25);padding:6px 15px;border-radius:99px;margin-bottom:24px}
.hero h1{font-family:var(--serif);font-weight:800;font-size:48px;line-height:1.3;margin-bottom:22px}
.hero .lead{font-size:clamp(15px,1.6vw,17px);color:rgba(255,255,255,.86);line-height:2.05;max-width:680px;margin-bottom:34px}
section{padding:84px 0}
@media (max-width:640px){
.hero h1{font-size:clamp(26px,7vw,34px) !important;line-height:1.38}
}
.hero.hero--light{background:#f5f9fd;color:var(--ink);position:relative;overflow:hidden;padding:44px 0 22px}
.hero.hero--light::before{content:"";position:absolute;right:-150px;top:-180px;width:440px;height:440px;border-radius:50%;background:#e2effa}
.hero.hero--light::after{content:"";position:absolute;left:-110px;bottom:-170px;width:300px;height:300px;border-radius:50%;background:#eaf3fb}
.hero.hero--light .hero-inner{max-width:1100px;display:grid;grid-template-columns:1.08fr .92fr;gap:40px;align-items:center;position:relative;z-index:2}
.hero.hero--light .eyebrow{display:inline-flex;align-items:center;gap:10px;border:0;padding:0;border-radius:0;color:var(--blue);font-family:var(--latin);font-weight:700;font-size:13px;letter-spacing:.16em;margin-bottom:14px}
.hero.hero--light .eyebrow::before{content:"";display:inline-block;width:30px;height:2px;background:var(--blue)}
.hero.hero--light h1{color:#12283f}
.hero.hero--light .lead{color:#46535f}
.hero--light .hero-visual{max-width:400px;margin-left:auto;width:100%}
.hero--light .hero-visual svg{width:100%;height:auto;display:block}
.hero--light .hv-caption{display:flex;align-items:center;justify-content:center;gap:13px;font-size:15.5px;font-weight:700;color:#12283f;letter-spacing:.03em;margin-top:14px;line-height:1.5;text-align:center}
.hero--light .hv-caption::before,.hero--light .hv-caption::after{content:"";width:3px;height:21px;background:linear-gradient(180deg,var(--blue) 55%,#ffd34f 55%);border-radius:2px;flex-shrink:0}
.hero--light .hv-caption::before{transform:rotate(-30deg)}
.hero--light .hv-caption::after{transform:rotate(30deg)}
@media (max-width:880px){
.hero.hero--light .hero-inner{grid-template-columns:1fr;gap:0}
.hero--light .hero-visual{display:none}
}
@media (max-width:640px){
.hero.hero--light{padding:34px 0 22px}
.hero--light .hv-caption{font-size:14px;gap:11px}
.hero--light .hv-caption::before,.hero--light .hv-caption::after{height:18px}
}
.hero.hero--light{text-align:left}
.hero.hero--light .hero-copy>p{color:#46535f;margin:0 0 18px;max-width:none}
.hero.hero--light+section,
.sol-hero.hero--light+section,
.ct-hero.hero--light+.ct-wrap,
.hero.hero--light+.wk-wrap{padding-top:50px !important}
