/* Native editorial diagrams, using the existing Zevonix palette. */
.service-visual {display:grid; grid-template-columns:minmax(0,1fr); margin:28px 0 34px; border:1px solid #d5e5ef; border-radius:16px; overflow:hidden; background:#fff; color:#475569;}
.service-visual .visual-art {display:flex; align-items:center; justify-content:center; background:#f0f7ff; padding:12px; min-width:0;}
.service-visual .visual-art img {display:block; width:100%; max-width:420px; height:auto; border-radius:0;}
.service-visual figcaption {padding:24px; align-self:center; min-width:0;}
.service-visual .visual-title {display:block; color:#234462; font-size:1.35rem; line-height:1.35; letter-spacing:-.02em;}
.service-visual figcaption p {margin:12px 0 18px; font-size:.97rem; line-height:1.65;}
.service-visual .visual-labels {list-style:none; display:flex; flex-wrap:wrap; gap:8px 18px; padding:0; margin:0;}
.service-visual .visual-labels li {display:flex; align-items:center; gap:7px; margin:0; color:#155e75; font-size:.82rem; font-weight:650; line-height:1.5;}
.service-visual .visual-labels li::before {content:""; width:6px; height:6px; border-radius:50%; background:#0891b2; flex:none;}
.service-visual .visual-link {display:inline-block; margin-top:20px; color:#0e7490; font-weight:650; text-underline-offset:3px;}
@media (min-width:700px) {.service-visual {grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);} .service-visual figcaption {padding:28px;}}
.hero .hero-layout {position:relative; z-index:1; width:100%; max-width:var(--site-width); margin:0 auto; padding:0 var(--site-gutter) 32px;}
.hero .hero-inner {padding-inline:0;}
.hero .service-visual-hero {max-width:500px; margin:0 auto; grid-template-columns:1fr; box-shadow:0 12px 34px rgba(26,45,61,.06);}
.hero .service-visual-hero .visual-art {padding:8px 20px 0;}
.hero .service-visual-hero figcaption {padding:14px 24px 22px;}
.hero .service-visual-hero .visual-title {font-size:1.16rem;}
.hero .service-visual-hero figcaption p {font-size:.92rem; margin:8px 0 13px;}
.recovery-visual {padding:26px 0; background:#f8fafc; border-block:1px solid #e2e8f0;}
.recovery-visual .service-visual {margin:0;}
@media (min-width:1000px) {
 .hero .hero-layout {display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:center; gap:32px; padding:38px var(--site-gutter);}
 .hero .hero-inner {max-width:none; margin:0; padding:10px 0; text-align:left;}
 .hero h1 {font-size:clamp(2.05rem,3.6vw,2.95rem);}
 .hero .hero-sub {font-size:1.05rem; margin:20px 0 0;}
 .hero .hero-platforms, .hero .hero-actions {justify-content:flex-start;}
 .hero .hero-platforms {gap:16px 26px; margin-top:24px; padding-top:20px;}
 .hero .service-visual-hero {margin:0;}
}
@media (max-width:399px) {.service-visual figcaption {padding:20px;} .service-visual .visual-title {font-size:1.18rem;}}

/* The homepage raster illustration fills its rounded artwork panel. */
.hero .service-visual-hero.service-visual-home .visual-art {padding:0; background:#fff;}
.hero .service-visual-home .visual-art img {max-width:none;}
