/* 솔루션 구성 — premium buyer page */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css');

.sol-page{
  --ink:#07111f;
  --ink-2:#1e293b;
  --muted:#475569;
  --line:rgba(148,163,184,.28);
  --surface:#ffffff;
  --soft:#f4f7fb;
  --accent:#0e7490;
  --accent-2:#155e75;
  --accent-soft:rgba(14,116,144,.1);
  --navy:#0b1c33;
  --navy-2:#132a4a;
  --teal:#14b8a6;
  --warn:#b45309;
  --ok:#047857;
  --font:'Pretendard', 'Apple SD Gothic Neo', sans-serif;
  --radius:18px;
  --shadow:0 18px 50px rgba(7,17,31,.12);
  --shadow-soft:0 8px 24px rgba(7,17,31,.06);
  color:var(--ink);
  font-family:var(--font);
  background:
    radial-gradient(900px 420px at 100% 0%, rgba(20,184,166,.06), transparent 55%),
    linear-gradient(180deg, #eef3f8 0%, #f7f9fc 28%, #ffffff 100%);
  overflow:clip;
}

.sol-wrap{
  width:min(1120px, calc(100% - 40px));
  margin:0 auto;
}

.sol-body{
  padding:28px 0 88px;
}

/* ── Buttons ── */
.sol-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid transparent;
  font:700 13.5px/1.2 var(--font);
  text-decoration:none;
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.sol-btn:hover{ transform:translateY(-1px); }
.sol-btn--sm{ padding:9px 14px; font-size:12.5px; }
.sol-btn--primary{
  background:linear-gradient(135deg, #0e7490, #0f766e);
  color:#fff !important;
  box-shadow:0 10px 24px rgba(14,116,144,.28);
}
.sol-btn--primary:hover{ background:linear-gradient(135deg, #155e75, #0f766e); color:#fff !important; }
.sol-btn--light{
  background:#fff;
  color:#0b1c33 !important;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.sol-btn--ghost-light{
  background:rgba(255,255,255,.12);
  color:#f8fafc !important;
  border-color:rgba(255,255,255,.35);
}
.sol-btn--ghost-light:hover{
  background:rgba(255,255,255,.2);
  color:#ffffff !important;
}

.sol-link{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--accent-2);
  font:700 13px/1.2 var(--font);
  padding:0;
  cursor:pointer;
}
.sol-link:hover{ text-decoration:underline; }

/* ── Hero ── */
.sol-hero{
  position:relative;
  isolation:isolate;
  min-height:min(78vh, 720px);
  display:flex;
  align-items:flex-end;
  color:#ffffff;
  background:linear-gradient(145deg, #07111f 0%, #0b1c33 42%, #12324f 78%, #0f4c5c 100%);
  overflow:hidden;
}

/* Beat site base.css (h1/button/a { color:#222 }) on dark hero */
.sol-hero,
.sol-hero h1,
.sol-hero h2,
.sol-hero h3,
.sol-hero p,
.sol-hero strong,
.sol-hero span,
.sol-hero em,
.sol-hero a,
.sol-hero button{
  color:#ffffff;
}
.sol-hero .sol-hero__eyebrow,
.sol-hero .sol-hero__eyebrow *{
  color:#99f6e4 !important;
}
.sol-hero .sol-hero__lead{
  color:rgba(248,250,252,.92) !important;
}
.sol-hero .sol-hero__lead em{
  color:#5eead4 !important;
}
.sol-hero .sol-pillar{
  color:#ffffff !important;
}
.sol-hero .sol-pillar__idx{
  color:#5eead4 !important;
}
.sol-hero .sol-pillar strong{
  color:#ffffff !important;
}
.sol-hero .sol-pillar span{
  color:rgba(248,250,252,.78) !important;
}

.sol-hero__bg{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}

.sol-hero__grid{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse at 40% 30%, #000 20%, transparent 72%);
  opacity:.55;
}

.sol-hero__glow{
  position:absolute;
  border-radius:50%;
  filter:blur(40px);
}
.sol-hero__glow--a{
  width:520px; height:520px;
  top:-120px; right:-80px;
  background:radial-gradient(circle, rgba(20,184,166,.35), transparent 65%);
  animation:solFloat 9s ease-in-out infinite;
}
.sol-hero__glow--b{
  width:420px; height:420px;
  bottom:-140px; left:-60px;
  background:radial-gradient(circle, rgba(56,189,248,.22), transparent 65%);
  animation:solFloat 11s ease-in-out infinite reverse;
}

.sol-hero__orbit{
  position:absolute;
  width:640px; height:640px;
  right:-120px; top:50%;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  box-shadow:inset 0 0 80px rgba(20,184,166,.08);
}
.sol-hero__orbit::before,
.sol-hero__orbit::after{
  content:'';
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.1);
}
.sol-hero__orbit::before{ inset:48px; }
.sol-hero__orbit::after{
  width:14px; height:14px;
  top:18%; right:22%;
  background:#14b8a6;
  box-shadow:0 0 24px rgba(20,184,166,.8);
  animation:solOrbit 7s linear infinite;
}

@keyframes solFloat{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(18px); }
}
@keyframes solOrbit{
  from{ transform:rotate(0deg) translateX(220px) rotate(0deg); }
  to{ transform:rotate(360deg) translateX(220px) rotate(-360deg); }
}

.sol-hero__inner{
  position:relative;
  z-index:1;
  padding:72px 0 48px;
}

.sol-hero__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 16px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  font:700 12px/1.2 var(--font);
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#99f6e4;
}
.sol-hero__eyebrow::before{
  content:'';
  width:7px; height:7px;
  border-radius:50%;
  background:#2dd4bf;
  box-shadow:0 0 0 4px rgba(45,212,191,.18);
}

.sol-hero__title{
  margin:0 0 16px;
  max-width:12ch;
  font:800 clamp(42px, 7vw, 72px)/1.05 var(--font);
  letter-spacing:-.045em;
  word-break:keep-all;
  text-shadow:0 10px 40px rgba(0,0,0,.25);
}

.sol-hero__lead{
  margin:0 0 28px;
  max-width:36rem;
  font:400 17px/1.7 var(--font);
  color:rgba(226,232,240,.88);
  word-break:keep-all;
}
.sol-hero__lead em{
  font-style:normal;
  color:#5eead4;
  font-weight:700;
}

.sol-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:36px;
}

.sol-pillars{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
}

.sol-pillar{
  appearance:none;
  text-align:left;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(10px);
  border-radius:16px;
  padding:18px 16px;
  color:#fff;
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.sol-pillar:hover{
  transform:translateY(-3px);
  background:rgba(255,255,255,.11);
  border-color:rgba(94,234,212,.45);
}
.sol-pillar__idx{
  display:block;
  margin-bottom:10px;
  font:800 12px/1 var(--font);
  letter-spacing:.08em;
  color:#5eead4;
}
.sol-pillar strong{
  display:block;
  margin-bottom:4px;
  font:800 20px/1.2 var(--font);
  letter-spacing:-.02em;
}
.sol-pillar span{
  font:500 13px/1.4 var(--font);
  color:rgba(226,232,240,.72);
}

/* ── Sticky tabs ── */
.sol-tabs-bar{
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(247,249,252,.86);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(148,163,184,.22);
}

.sol-nav{
  display:flex;
  gap:6px;
  overflow-x:auto;
  padding:10px 0;
  scrollbar-width:none;
}
.sol-nav::-webkit-scrollbar{ display:none; }

.sol-nav__btn{
  appearance:none;
  flex:0 0 auto;
  border:0;
  background:transparent;
  color:var(--muted);
  font:700 13.5px/1.2 var(--font);
  padding:11px 16px;
  border-radius:999px;
  cursor:pointer;
  transition:background .15s ease, color .15s ease, box-shadow .15s ease;
}
.sol-nav__btn:hover{ color:var(--ink); background:rgba(255,255,255,.8); }
.sol-nav__btn.is-active{
  color:#ffffff !important;
  background:linear-gradient(135deg, #0f766e, #0e7490);
  box-shadow:0 8px 20px rgba(14,116,144,.25);
}

/* Wide dark bento — force readable light text over base.css */
.sol-bento__card--wide,
.sol-bento__card--wide h3,
.sol-bento__card--wide p,
.sol-bento__card--wide li,
.sol-bento__card--wide strong,
.sol-bento__card--wide span{
  color:#ffffff !important;
}
.sol-bento__card--wide p,
.sol-bento__card--wide li{
  color:rgba(248,250,252,.86) !important;
}
.sol-bento__card--wide .sol-bento__tag{
  color:#99f6e4 !important;
}
.sol-bento__card--wide .sol-link{
  color:#5eead4 !important;
}

/* ── Panels ── */
.sol-panel{ display:none; animation:solIn .28s ease; }
.sol-panel.is-active{ display:block; }

@keyframes solIn{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:translateY(0); }
}

.sol-section-head{ margin-bottom:28px; max-width:720px; }
.sol-kicker{
  margin:0 0 8px;
  font:800 12px/1.2 var(--font);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--accent);
}
.sol-panel__title{
  margin:0 0 10px;
  font:800 clamp(28px, 4vw, 40px)/1.2 var(--font);
  letter-spacing:-.03em;
  color:var(--ink);
  word-break:keep-all;
}
.sol-panel__lead{
  margin:0;
  font:400 16px/1.7 var(--font);
  color:var(--muted);
  word-break:keep-all;
}

/* Journey */
.sol-journey{
  list-style:none;
  margin:0 0 28px;
  padding:0;
  display:grid;
  gap:12px;
}
.sol-journey__item{
  display:grid;
  grid-template-columns:48px 1fr auto;
  gap:16px;
  align-items:center;
  padding:18px 20px;
  border-radius:var(--radius);
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}
.sol-journey__num{
  width:42px; height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:linear-gradient(135deg, #0f766e, #0e7490);
  color:#ffffff !important;
  font:800 15px/1 var(--font);
}
.sol-journey__item strong{
  display:block;
  margin-bottom:4px;
  font:800 16px/1.3 var(--font);
}
.sol-journey__item p{
  margin:0;
  font:400 13.5px/1.55 var(--font);
  color:var(--muted);
  word-break:keep-all;
}
.sol-journey__item > a{
  color:var(--accent-2);
  font:700 13px/1.2 var(--font);
  text-decoration:none;
  white-space:nowrap;
}
.sol-journey__item > a:hover{ text-decoration:underline; }

/* Bento */
.sol-bento{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:14px;
  margin-bottom:20px;
}
.sol-bento__card{
  position:relative;
  padding:22px 20px 18px;
  border-radius:var(--radius);
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  min-height:210px;
  display:flex;
  flex-direction:column;
}
.sol-bento__card--wide{
  background:
    radial-gradient(500px 220px at 100% 0%, rgba(20,184,166,.16), transparent 55%),
    linear-gradient(160deg, #0b1c33 0%, #12324f 100%);
  color:#fff;
  border-color:transparent;
}
.sol-bento__card--wide p,
.sol-bento__card--wide li{ color:rgba(226,232,240,.78); }
.sol-bento__card--wide .sol-link{ color:#5eead4; }
.sol-bento__tag{
  display:inline-flex;
  width:max-content;
  margin-bottom:12px;
  padding:4px 9px;
  border-radius:999px;
  font:800 10.5px/1 var(--font);
  letter-spacing:.06em;
  text-transform:uppercase;
  background:rgba(14,116,144,.1);
  color:var(--accent-2);
}
.sol-bento__card--wide .sol-bento__tag{
  background:rgba(255,255,255,.1);
  color:#99f6e4;
}
.sol-bento__card h3{
  margin:0 0 8px;
  font:800 24px/1.2 var(--font);
  letter-spacing:-.02em;
}
.sol-bento__card p{
  margin:0 0 12px;
  font:400 14px/1.6 var(--font);
  color:var(--muted);
  word-break:keep-all;
}
.sol-bento__card ul{
  margin:0 0 auto;
  padding:0 0 14px 18px;
}
.sol-bento__card li{
  font:400 13.5px/1.55 var(--font);
  color:var(--muted);
}
.sol-bento__card .sol-link{ margin-top:14px; }

.sol-hint{
  display:flex;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  border-radius:14px;
  background:#ecfeff;
  border:1px solid #a5f3fc;
  font:400 13.5px/1.5 var(--font);
  color:#155e75;
  word-break:keep-all;
}
.sol-hint strong{
  flex-shrink:0;
  padding:4px 8px;
  border-radius:8px;
  background:#0e7490;
  color:#ffffff !important;
  font:800 11px/1 var(--font);
}
.sol-hint em{ font-style:normal; font-weight:800; }

/* LMS duo */
.sol-duo{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.sol-role{
  padding:28px 24px 22px;
  border-radius:22px;
  border:1px solid var(--line);
  background:var(--surface);
  box-shadow:var(--shadow);
  min-height:320px;
  display:flex;
  flex-direction:column;
}
.sol-role--learner{
  background:
    radial-gradient(420px 180px at 0% 0%, rgba(14,116,144,.12), transparent 60%),
    #fff;
}
.sol-role--admin{
  background:
    radial-gradient(420px 180px at 100% 0%, rgba(15,23,42,.1), transparent 60%),
    #fff;
}
.sol-role__top span{
  display:inline-block;
  margin-bottom:8px;
  font:800 11px/1 var(--font);
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--accent);
}
.sol-role__top h3{
  margin:0 0 18px;
  font:800 28px/1.15 var(--font);
  letter-spacing:-.03em;
}
.sol-role ul{
  margin:0 0 auto;
  padding:0 0 22px 18px;
}
.sol-role li{
  font:400 14.5px/1.65 var(--font);
  color:var(--muted);
  word-break:keep-all;
}
.sol-role .sol-btn{ align-self:flex-start; }

/* Note */
.sol-note{
  margin:18px 0 0;
  padding:14px 16px;
  border-radius:14px;
  background:#fffbeb;
  border:1px solid #fde68a;
  font:400 13px/1.55 var(--font);
  color:var(--warn);
  word-break:keep-all;
}

/* Reveal */
.sol-reveal{
  opacity:0;
  transform:translateY(16px);
  animation:solReveal .7s ease forwards;
}
.sol-hero .sol-reveal:nth-child(1){ animation-delay:.05s; }
.sol-hero .sol-reveal:nth-child(2){ animation-delay:.14s; }
.sol-hero .sol-reveal:nth-child(3){ animation-delay:.22s; }
.sol-hero .sol-reveal:nth-child(4){ animation-delay:.3s; }
.sol-hero .sol-reveal:nth-child(5){ animation-delay:.4s; }
@keyframes solReveal{
  to{ opacity:1; transform:translateY(0); }
}

/* ── EMON ── */
.emon-demo__toolbar,
.infra-demo__toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.emon-demo__live,
.infra-demo__live{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font:700 12.5px/1.2 var(--font);
  color:var(--muted);
}
.emon-demo__pulse,
.infra-demo__pulse{
  width:8px; height:8px;
  border-radius:50%;
  background:#14b8a6;
  box-shadow:0 0 0 0 rgba(20,184,166,.5);
  animation:emonPulse 1.6s ease-out infinite;
}
@keyframes emonPulse{
  0%{ box-shadow:0 0 0 0 rgba(20,184,166,.45); }
  70%{ box-shadow:0 0 0 9px rgba(20,184,166,0); }
  100%{ box-shadow:0 0 0 0 rgba(20,184,166,0); }
}

.emon-pipeline{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:10px;
  margin-bottom:16px;
}
.emon-pipeline__step{
  position:relative;
  padding:18px 12px;
  border-radius:16px;
  border:1px solid var(--line);
  background:var(--surface);
  text-align:center;
  box-shadow:var(--shadow-soft);
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.emon-pipeline__step strong{
  display:block;
  margin-bottom:4px;
  font:800 13.5px/1.3 var(--font);
}
.emon-pipeline__step span{
  font:500 11.5px/1.4 var(--font);
  color:var(--muted);
}
.emon-pipeline__step:not(:last-child)::after{
  content:'→';
  position:absolute;
  right:-9px; top:50%;
  transform:translateY(-50%);
  color:#94a3b8;
  font-weight:800;
  z-index:1;
}
.emon-pipeline__step.is-on{
  border-color:rgba(20,184,166,.5);
  background:linear-gradient(180deg, #fff, #ecfeff);
  box-shadow:0 0 0 4px rgba(20,184,166,.1);
  transform:translateY(-3px);
}
.emon-pipeline__step.is-done{
  border-color:#86efac;
  background:#f0fdf4;
}

.emon-status{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:10px;
  margin-bottom:16px;
}
.emon-status__card{
  padding:14px 12px 12px;
  border-radius:16px;
  border:1px solid var(--line);
  background:var(--surface);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.emon-status__card.is-active{
  border-color:rgba(14,116,144,.45);
  box-shadow:0 12px 28px rgba(14,116,144,.12);
}
.emon-status__card header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  margin-bottom:4px;
}
.emon-status__card header strong{ font:800 13.5px/1.2 var(--font); }
.emon-status__card > p{
  margin:0 0 10px;
  font:500 11.5px/1.3 var(--font);
  color:var(--muted);
}
.emon-status__card dl{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin:0;
}
.emon-status__card dl div{
  padding:8px;
  border-radius:10px;
  background:var(--soft);
}
.emon-status__card dt{
  margin:0;
  font:600 11px/1.2 var(--font);
  color:var(--muted);
}
.emon-status__card dd{
  margin:3px 0 0;
  font:800 15px/1.2 var(--font);
}

.emon-badge{
  display:inline-flex;
  padding:3px 7px;
  border-radius:999px;
  font:800 10.5px/1 var(--font);
}
.emon-badge--ok{ background:#ecfdf5; color:var(--ok); border:1px solid #a7f3d0; }
.emon-badge--run{ background:#ecfeff; color:var(--accent-2); border:1px solid #a5f3fc; }

.emon-split{
  display:grid;
  grid-template-columns:1.35fr .9fr;
  gap:14px;
}
.emon-log-wrap,
.emon-rules{
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
}
.emon-log-wrap__head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
  padding:14px 16px;
  border-bottom:1px solid var(--line);
  background:var(--soft);
}
.emon-log-wrap__head strong{ font:800 13.5px/1.2 var(--font); }
.emon-log-wrap__head span{ font:600 11.5px/1.2 var(--font); color:var(--muted); }
.emon-log__row{
  display:grid;
  grid-template-columns:84px 1.2fr 52px 1fr;
  gap:8px;
  padding:11px 16px;
  font:500 13px/1.35 var(--font);
  border-bottom:1px solid #f1f5f9;
  align-items:center;
}
.emon-log__row:last-child{ border-bottom:0; }
.emon-log__row--head{
  font:700 11px/1.2 var(--font);
  color:var(--muted);
  background:#fcfdff;
}
.emon-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  padding:2px 6px;
  border-radius:6px;
  background:#ecfeff;
  color:var(--accent-2);
  font:800 11px/1.2 var(--font);
}
.emon-chip--u{ background:#f5f3ff; color:#6d28d9; }
.emon-chip--d{ background:#fff7ed; color:#c2410c; }
.emon-ok{ color:var(--ok); font-weight:800; }
.emon-mute{ color:#94a3b8; }

.emon-rules{ padding:18px 16px 16px; }
.emon-rules h3{ margin:0 0 8px; font:800 15px/1.3 var(--font); }
.emon-rules > p{
  margin:0 0 12px;
  font:400 13px/1.55 var(--font);
  color:var(--muted);
  word-break:keep-all;
}
.emon-rules__list{ list-style:none; margin:0 0 14px; padding:0; }
.emon-rules__list li{
  margin:0 0 8px;
  padding:10px 11px;
  border-radius:12px;
  font:500 12.5px/1.45 var(--font);
  word-break:keep-all;
}
.emon-rules__list li.is-good{ background:#f0fdf4; border:1px solid #bbf7d0; color:#166534; }
.emon-rules__list li.is-bad{ background:#fef2f2; border:1px solid #fecaca; color:#991b1b; }
.emon-rules__meta{ display:grid; gap:8px; }
.emon-rules__meta div{
  padding:10px 11px;
  border-radius:12px;
  background:var(--soft);
  border:1px solid var(--line);
}
.emon-rules__meta strong{ display:block; margin-bottom:2px; font:800 12px/1.2 var(--font); }
.emon-rules__meta span{ font:400 12.5px/1.4 var(--font); color:var(--muted); }

/* ── Infra ── */
.infra-map{
  display:grid;
  gap:10px;
  margin-bottom:12px;
}
.infra-map__lane{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:12px;
  align-items:stretch;
  padding:12px;
  border-radius:18px;
  border:1px solid var(--line);
  background:var(--surface);
  box-shadow:var(--shadow-soft);
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.infra-map__lane.is-on{
  border-color:rgba(20,184,166,.45);
  background:linear-gradient(180deg, #fff, #f0fdfa);
  box-shadow:0 0 0 4px rgba(20,184,166,.08);
}
.infra-map__label{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:8px 6px;
  border-radius:12px;
  background:var(--soft);
  color:var(--muted);
  font:800 11.5px/1.3 var(--font);
}
.infra-map__nodes{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:8px;
}
.infra-node{
  padding:14px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#fcfdff;
  cursor:pointer;
  transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.infra-node:hover,
.infra-node.is-active{
  border-color:rgba(14,116,144,.45);
  box-shadow:0 8px 18px rgba(14,116,144,.1);
  transform:translateY(-1px);
}
.infra-node--accent{
  background:linear-gradient(180deg, #fff, #ecfeff);
  border-color:#a5f3fc;
}
.infra-node strong{
  display:block;
  margin-bottom:3px;
  font:800 13.5px/1.25 var(--font);
}
.infra-node span{
  font:500 11.5px/1.35 var(--font);
  color:var(--muted);
}

.infra-detail{
  margin-bottom:16px;
  padding:16px 18px;
  border-radius:16px;
  border:1px solid #a5f3fc;
  background:linear-gradient(135deg, #ecfeff, #f8fcff);
}
.infra-detail strong{
  display:block;
  margin-bottom:4px;
  font:800 15px/1.3 var(--font);
  color:#0f766e;
}
.infra-detail p{
  margin:0;
  font:400 14px/1.55 var(--font);
  color:var(--muted);
  word-break:keep-all;
}

.infra-checks{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-bottom:14px;
}
.infra-check{
  border-radius:18px;
  border:1px solid var(--line);
  background:var(--surface);
  padding:18px 18px 16px;
  box-shadow:var(--shadow-soft);
}
.infra-check header{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
}
.infra-check h3{ margin:0; font:800 15px/1.3 var(--font); }
.infra-check__tag{
  display:inline-flex;
  padding:4px 8px;
  border-radius:999px;
  font:800 10.5px/1 var(--font);
}
.infra-check--in{
  border-color:#bbf7d0;
  background:linear-gradient(180deg, #fff, #f0fdf4);
}
.infra-check--in .infra-check__tag{ background:#dcfce7; color:#166534; }
.infra-check--out{
  border-color:#fde68a;
  background:linear-gradient(180deg, #fff, #fffbeb);
}
.infra-check--out .infra-check__tag{ background:#fef3c7; color:#92400e; }
.infra-check ul{ margin:0; padding:0 0 0 18px; }
.infra-check li{
  font:400 13.5px/1.55 var(--font);
  color:var(--muted);
  word-break:keep-all;
}
.infra-check li + li{ margin-top:5px; }

.infra-ops{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
  margin-bottom:8px;
}
.infra-ops__card{
  padding:16px 15px 14px;
  border-radius:16px;
  border:1px solid var(--line);
  background:var(--surface);
  box-shadow:var(--shadow-soft);
}
.infra-ops__card strong{
  display:block;
  margin-bottom:6px;
  font:800 14px/1.3 var(--font);
}
.infra-ops__card p{
  margin:0;
  font:400 13px/1.55 var(--font);
  color:var(--muted);
  word-break:keep-all;
}

/* Responsive */
@media (max-width: 980px){
  .sol-pillars,
  .sol-bento,
  .sol-duo,
  .emon-pipeline,
  .emon-status,
  .emon-split,
  .infra-checks,
  .infra-ops{
    grid-template-columns:1fr;
  }
  .emon-pipeline__step:not(:last-child)::after{ display:none; }
  .infra-map__nodes{ grid-template-columns:1fr; }
  .infra-map__lane{ grid-template-columns:1fr; }
}

@media (max-width: 720px){
  .sol-wrap{ width:calc(100% - 28px); }
  .sol-hero__inner{ padding:56px 0 36px; }
  .sol-hero__title{ max-width:none; }
  .sol-journey__item{
    grid-template-columns:42px 1fr;
  }
  .sol-journey__item > a{
    grid-column:2;
  }
  .emon-log__row{
    grid-template-columns:1fr 1fr;
    gap:4px 10px;
  }
  .emon-log__row--head{ display:none; }
  .sol-hero__orbit{ display:none; }
}
