/* Native, static concept illustrations. No screenshots or fabricated product UI. */
html body.public-site #public-main .concept-visual {
  --cv-surface:#eaf2ff;--cv-paper:#fff;--cv-soft:#c7daf7;--cv-strong:#4276b9;--cv-ink:#254d80;
  box-sizing:border-box;min-width:0;width:100%;color:var(--cv-ink);font-family:inherit;
}
html[data-theme="dark"] body.public-site #public-main .concept-visual {
  --cv-surface:#112338;--cv-paper:#213c59;--cv-soft:#355779;--cv-strong:#8bb4e8;--cv-ink:#d4e5fa;
}
html body.public-site #public-main .concept-visual .concept-art {width:100%;min-width:0;}
html body.public-site #public-main .concept-visual svg {display:block;width:100%;max-width:320px;height:auto;max-height:none;aspect-ratio:16/9;margin:auto;fill:none;stroke:none;}
html body.public-site #public-main .concept-visual .cv-paper {fill:var(--cv-paper);stroke:none;}
html body.public-site #public-main .concept-visual .cv-soft {fill:var(--cv-soft);stroke:none;}
html body.public-site #public-main .concept-visual .cv-solid {fill:var(--cv-strong);stroke:none;}
html body.public-site #public-main .concept-visual .cv-line {fill:none;stroke:var(--cv-strong);stroke-linecap:round;stroke-linejoin:round;}
html body.public-site #public-main .concept-visual .cv-white {fill:none;stroke:var(--cv-surface);stroke-linecap:round;stroke-linejoin:round;}
html body.public-site #public-main .concept-visual .cv-white-fill {fill:var(--cv-surface);stroke:none;}
/* Keep home previews and service diagrams at the same rendered stroke width. */
html body.public-site #public-main .concept-visual :is(.cv-line,.cv-white,.da-icon,.da-link,.da-circuit,.da-arrow,.da-on-strong),
html body.public-site #public-main .concept-visual :is(.cv-line,.cv-white,.da-icon,.da-link,.da-circuit,.da-arrow,.da-on-strong) :is(path,rect,circle,ellipse,line,polyline,polygon) {stroke-width:2;vector-effect:non-scaling-stroke;}
html body.public-site #public-main .concept-visual .cv-line.cv-database-stroke {stroke-width:2;vector-effect:non-scaling-stroke;}
html body.public-site #public-main .concept-diagram {padding:24px;border-radius:16px;background:var(--cv-surface);}
html body.public-site #public-main .concept-diagram .concept-diagram__title {margin:0!important;font-size:16px!important;font-weight:700!important;color:var(--cv-ink)!important;line-height:1.5;text-align:left;}
html body.public-site #public-main .concept-diagram .concept-art {max-width:380px;margin:8px auto;}
html body.public-site #public-main .concept-diagram .concept-diagram__steps {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0;}
html body.public-site #public-main .concept-diagram .concept-diagram__steps li {position:relative;min-width:0;padding:12px 8px;background:var(--cv-paper);border:0;border-radius:9px;text-align:center;color:var(--cv-ink);font-size:13px;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;}
html body.public-site #public-main .concept-diagram .concept-diagram__steps li:not(:last-child)::after {content:'→';position:absolute;top:50%;right:-12px;transform:translateY(-50%);width:12px;z-index:1;color:var(--cv-strong);}
html body.public-site #public-main .concept-diagram__number {display:block;margin-bottom:4px;font-size:10px;font-weight:700;color:var(--cv-strong);}
html body.public-site #public-main .concept-device {display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;max-width:320px;height:auto;min-height:120px;padding:8px;border-radius:10px;background:var(--cv-surface);}
html body.public-site #public-main .concept-device .concept-art {height:96px;min-height:0;max-width:220px;flex:none;}
html body.public-site #public-main .concept-device svg {height:100%;max-height:112px;}
html body.public-site #public-main .concept-spot {padding:8px;border-radius:16px;background:var(--cv-surface);}
html body.public-site #public-main .concept-spot svg {max-height:170px;}
html body.public-site #public-main .b-diagram-nodes .concept-spot {width:70px;flex:none;padding:0;}
html body.public-site #public-main .b-diagram-nodes .concept-spot svg {height:44px;}
html body.public-site #public-main .b-image-surface:has(>.concept-diagram) {height:auto;min-height:0;padding:0;background:transparent;}
html body.public-site #public-main .service-screen:has(>.concept-diagram) {aspect-ratio:auto;padding:0;border:0;background:transparent;overflow:visible;}
html body.public-site #public-main .ppt-summary>.concept-spot {margin-bottom:20px;}
html body.public-site #public-main .home-solution-card__media>.concept-diagram {display:grid;grid-template-rows:auto auto auto;gap:16px;align-content:start;min-height:360px;border-radius:0;padding:20px;}
html body.public-site #public-main .home-solution-card__media .concept-art {width:100%;max-width:400px;margin:0 auto;}
html body.public-site #public-main .home-solution-card__media .concept-art svg {max-width:none;aspect-ratio:16/9;height:auto;}
html body.public-site #public-main .home-solution-card__media .concept-diagram__steps {gap:8px;}
html body.public-site #public-main .home-solution-card__media .concept-diagram__steps li {display:flex;flex-direction:column;justify-content:center;min-height:58px;font-size:12px;padding:10px 6px;}
html body.public-site #public-main .home-solution-card__media .concept-diagram__steps li::after {display:none;}
@media(max-width:767px) {
  html body.public-site #public-main .concept-diagram {padding:18px;}
  html body.public-site #public-main .concept-diagram .concept-diagram__steps {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  html body.public-site #public-main .concept-diagram .concept-diagram__steps li::after {display:none;}
  html body.public-site #public-main .concept-diagram .concept-art {max-width:260px;}
}

/* The slide header keeps its small, fixed illustration beside the summary. */
html body.public-site #public-main .slide-preview-source .ppt-summary>.concept-spot {
  position:absolute;top:28px;left:0;width:56px;height:56px;margin:0;padding:0;display:flex;align-items:center;
}
html body.public-site.public-design-page #public-main.publishing-main.business-detail .ppt-content .b-image-surface:has(>.concept-diagram) {
  height:auto;min-height:0;padding:0;background:transparent;
}
html body.public-site #public-main .b-diagram-nodes .b-illustration>.concept-spot {width:100%;}
html body.public-site.public-design-page #public-main.publishing-main.business-detail .ppt-content .b-image-surface:has(>.concept-device) {
  height:auto!important;min-height:120px!important;padding:0!important;background:transparent;
}
/* WSC and Optic use separate diagram cards instead of screenshot frames. */
html body.public-site.page-service #public-main.products-v4 :is(#wsc,#optic) .service-screen-gallery {gap:24px;}
html body.public-site.page-service #public-main.products-v4 :is(#wsc,#optic) .service-screen:has(>.concept-diagram) {background:transparent;border:0;}
/* The supplied MESH symbol is clipped in CSS; its source image stays unchanged. */
html body.public-site #public-main .mesh-mark {--mesh-mark-height:36px;position:relative;display:inline-block;flex:none;width:calc(var(--mesh-mark-height) * 1.747);height:var(--mesh-mark-height);overflow:hidden;}
html body.public-site #public-main .mesh-mark img {position:absolute;display:block;left:calc(var(--mesh-mark-height) * -.6092);top:calc(var(--mesh-mark-height) * -.2299);width:calc(var(--mesh-mark-height) * 5.701);max-width:none;height:auto;aspect-ratio:496/154;object-fit:fill;object-position:initial;padding:0;border:0;border-radius:0;background:transparent;transition:none;}
html body.public-site #public-main #mesh .mesh-brand {display:flex;align-items:center;gap:12px;width:auto;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--pub-ink);}
html body.public-site #public-main #mesh .mesh-feature-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;padding:0;list-style:none;}
html body.public-site #public-main #mesh .mesh-feature-list li {margin:0;padding-top:12px;border-top:1px solid var(--pub-line);line-height:1.6;min-width:0;}
html body.public-site #public-main .mesh-home-brand {position:absolute;z-index:1;top:20px;left:20px;display:flex;align-items:center;gap:8px;height:24px;color:var(--cv-ink,#254d80);font-size:16px;font-weight:700;}
html[data-theme="dark"] body.public-site #public-main .mesh-home-brand {color:#d4e5fa;}
html body.public-site #public-main .mesh-home-brand .mesh-mark {--mesh-mark-height:18px;}
html body.public-site #public-main .home-solution-card--mesh .concept-diagram__title {padding-left:40px;}
html body.public-site #public-main .home-solution-card--mesh .home-solution-card__overlay {z-index:2;}
@media(max-width:767px) {
  html body.public-site #public-main #mesh .mesh-feature-list {grid-template-columns:minmax(0,1fr);gap:8px;}
}

html body.public-site #public-main #mesh .mesh-feature-list strong {display:block;font-size:15px;color:var(--pub-ink);}
html body.public-site #public-main #mesh .mesh-feature-list span {display:block;margin-top:6px;font-size:14px;line-height:1.7;color:var(--pub-muted);word-break:keep-all;overflow-wrap:anywhere;}

/* Static service illustrations: MESH is ETL, ELUNA is a distributed lakehouse. */
html body.public-site #public-main .data-architecture {padding:24px;border-radius:16px;background:var(--cv-surface);word-break:keep-all;}
html body.public-site #public-main .data-architecture__title {margin:0 0 16px!important;color:var(--cv-ink)!important;font-size:16px!important;font-weight:700;line-height:1.5;}
html body.public-site #public-main .data-architecture .data-architecture__drawing {display:block;width:100%;max-width:none;height:auto;aspect-ratio:9/5;margin:0;overflow:visible;font-family:inherit;}
html body.public-site #public-main .data-architecture .da-paper {fill:var(--cv-paper);stroke:none;}
html body.public-site #public-main .data-architecture .da-soft {fill:var(--cv-soft);stroke:none;}
html body.public-site #public-main .data-architecture .da-strong {fill:var(--cv-strong);stroke:none;}
html body.public-site #public-main .data-architecture :is(.da-icon,.da-link,.da-circuit,.da-arrow) {fill:none;stroke:var(--cv-strong);stroke-linecap:round;stroke-linejoin:round;}
html body.public-site #public-main .data-architecture .da-on-strong {fill:none;stroke:var(--cv-surface);stroke-linejoin:round;}
html body.public-site #public-main .data-architecture :is(.da-heading,.da-brand,.da-label,.da-source-label,.da-note) {fill:var(--cv-ink);stroke:none;font-size:20px;}
html body.public-site #public-main .data-architecture .da-heading {font-size:22px;font-weight:700;}
html body.public-site #public-main .data-architecture .da-brand {font-size:31px;font-weight:700;letter-spacing:1px;}
html body.public-site #public-main .data-architecture .da-source-label {font-size:20px;}
html body.public-site #public-main .data-architecture .da-source-label--small {font-size:18px;}
html body.public-site #public-main .data-architecture .da-note {font-size:18px;}
html body.public-site #public-main .data-architecture__footer {display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;border-top:1px solid var(--cv-soft);margin:16px 0 0!important;padding-top:14px;color:var(--cv-ink)!important;font-size:12px!important;line-height:1.6!important;text-align:center;}
html body.public-site #public-main .service-screen:has(>.data-architecture) {aspect-ratio:auto;padding:0;border:0;background:transparent;overflow:visible;}
@media(max-width:767px) {
  html body.public-site #public-main .data-architecture {padding:18px 12px;}
  html body.public-site #public-main .data-architecture__title {font-size:15px!important;}
  html body.public-site #public-main .data-architecture .da-note {display:none;}
}
html body.public-site #public-main .data-architecture .data-architecture__drawing--mobile {display:none;}
@media(max-width:540px) {
  html body.public-site #public-main .data-architecture .data-architecture__drawing {display:none;}
  html body.public-site #public-main .data-architecture .data-architecture__drawing--mobile {display:block;aspect-ratio:auto;}
  html body.public-site #public-main .data-architecture .data-architecture__drawing--mobile .da-label {font-size:20px;}
}
/* Override the older screenshot frame only for the native service drawings. */
html body.public-site.public-design-page.page-service #public-main.products-v4 :is(#mesh,#eluna,#discovery,#chimera,#wsc,#optic) .service-screen:has(>.data-architecture) {border:0;padding:0;background:transparent;aspect-ratio:auto;overflow:visible;box-shadow:none;}
html body.public-site #public-main .data-architecture__title {font-weight:700!important;max-width:none!important;width:auto!important;}
html body.public-site #public-main .data-architecture__footer {max-width:none!important;width:auto!important;}
@media(max-width:767px) {
  html body.public-site #public-main .home-solution-card__media>.concept-diagram {min-height:0;gap:14px;padding:18px 16px;}
  html body.public-site #public-main .home-solution-card__media .concept-art {max-width:400px;}
  html body.public-site #public-main .mesh-home-brand {top:18px;left:16px;}
}
html body.public-site #public-main .concept-visual {font-family:"Noto Sans KR","Pretendard",system-ui,sans-serif;font-style:normal;}
html body.public-site #public-main .concept-visual svg text {font-family:inherit;font-style:normal;letter-spacing:normal;font-kerning:normal;}
html body.public-site #public-main .data-architecture :is(.da-label,.da-source-label,.da-note) {font-weight:400;}
/* Keep detailed WSC/Optic diagrams readable on tablets. */
@media(max-width:1279px) {
  html body.public-site.page-service #public-main.products-v4 :is(#wsc,#optic) .service-screen-gallery {grid-template-columns:minmax(0,1fr);}
}
@media(max-width:640px) {
  html body.public-site #public-main :is(.data-architecture--wsc,.data-architecture--optic) .data-architecture__drawing {display:none;}
  html body.public-site #public-main :is(.data-architecture--wsc,.data-architecture--optic) .data-architecture__drawing--mobile {display:block;aspect-ratio:auto;}
}

@media(min-width:641px) and (max-width:767px) {
  html body.public-site #public-main :is(.data-architecture--wsc,.data-architecture--optic) .da-note {display:block;}
}
