/* buildcontrol — Shared layout for solution detail pages. */
html,body{overflow-x:clip}

.sl-hero{background:var(--screen-bg-alt);border-bottom:1px solid var(--n-150);
  padding:60px 0 54px;position:relative;overflow:hidden}
.sl-hero::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(var(--n-150) 1px,transparent 1px),
                   linear-gradient(90deg,var(--n-150) 1px,transparent 1px);
  background-size:44px 44px;opacity:.34;
  -webkit-mask-image:radial-gradient(ellipse 60% 90% at 88% 25%,#000 0%,transparent 72%);
  mask-image:radial-gradient(ellipse 60% 90% at 88% 25%,#000 0%,transparent 72%)}
.sl-hero-in{position:relative;display:grid;grid-template-columns:1.08fr .92fr;
  gap:52px;align-items:center}
.sl-crumb{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--n-500);margin-bottom:16px}
.sl-crumb a{color:var(--n-500)}.sl-crumb a:hover{color:var(--brand-700)}
.sl-crumb span{color:var(--n-300)}
.sl-hero h1{font-family:var(--f-header);font-weight:700;font-size:38px;line-height:1.14;
  letter-spacing:-.02em;color:var(--navy-900);margin:0}
.sl-hero .sub{font-family:var(--f-header);font-weight:600;font-size:19px;line-height:1.28;
  color:var(--n-600);letter-spacing:-.01em;margin:10px 0 0}
.sl-hero p{font-size:15.5px;line-height:1.7;color:var(--n-500);margin:14px 0 0;max-width:530px}
.sl-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}

.sl-card{background:#fff;border:1px solid var(--n-150);border-radius:18px;
  box-shadow:var(--shadow-3);overflow:hidden}
.sl-card-top{background:var(--header-grad);padding:16px 18px;display:flex;
  align-items:center;gap:12px}
.sl-card-ic{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.16);
  display:grid;place-items:center;flex:none}
.sl-card-ic svg{width:20px;height:20px;fill:#fff}
.sl-card-top b{font-family:var(--f-header);font-weight:700;font-size:14.5px;color:#fff;line-height:1.25}
.sl-card-top small{display:block;font-weight:400;font-size:11px;color:#B7C8DE;margin-top:2px}
.sl-card-body{padding:8px 18px 16px}
.sl-row{display:flex;align-items:flex-start;gap:11px;padding:13px 0;
  border-bottom:1px solid var(--n-100)}
.sl-row:last-child{border-bottom:none}
.sl-row .n{width:24px;height:24px;border-radius:50%;background:var(--info-bg);flex:none;
  display:grid;place-items:center;font-family:var(--f-header);font-weight:700;
  font-size:11px;color:var(--brand-700);margin-top:1px}
.sl-row .t{font-family:var(--f-header);font-weight:600;font-size:13.5px;color:var(--navy-900)}
.sl-row .s{font-size:12px;color:var(--n-500);margin-top:2px;line-height:1.55}

.sl-sec{padding:58px 0}
.sl-sec.alt{background:var(--screen-bg-alt);border-top:1px solid var(--n-150);
  border-bottom:1px solid var(--n-150)}
.sl-sec h2{font-family:var(--f-header);font-weight:700;font-size:27px;
  letter-spacing:-.015em;color:var(--navy-900);margin:6px 0 0}
.sl-lead{font-size:15.5px;color:var(--n-500);line-height:1.7;max-width:680px;margin:12px 0 0}

.sl-pain{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:30px}
.sl-pain-i{background:#fff;border:1px solid var(--n-150);border-left:3px solid var(--warning);
  border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:20px 22px}
.sl-pain-i b{display:block;font-family:var(--f-header);font-weight:600;font-size:15.5px;
  color:var(--navy-900);margin-bottom:7px}
.sl-pain-i span{font-size:14px;color:var(--n-500);line-height:1.65}

.sl-mods{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:30px}
.sl-mod{display:block;background:#fff;border:1px solid var(--n-150);border-radius:var(--r-xl);
  box-shadow:var(--shadow-2);padding:22px;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.sl-mod:hover{transform:translateY(-3px);box-shadow:var(--shadow-3);border-color:var(--brand-600)}
.sl-mod-t{display:flex;align-items:center;gap:12px;margin-bottom:11px}
.sl-mod-ic{width:40px;height:40px;border-radius:11px;background:var(--info-bg);
  display:grid;place-items:center;flex:none}
.sl-mod-ic svg{width:20px;height:20px;fill:var(--info)}
.sl-mod h3{font-family:var(--f-header);font-weight:600;font-size:16.5px;color:var(--navy-900)}
.sl-mod p{font-size:14px;color:var(--n-500);line-height:1.65}
.sl-mod .go{display:inline-flex;align-items:center;gap:6px;margin-top:13px;
  font-family:var(--f-header);font-weight:600;font-size:13px;color:var(--brand-700)}
.sl-mod .go svg{width:13px;height:13px;fill:var(--brand-700);transition:transform .18s ease}
.sl-mod:hover .go svg{transform:translateX(3px)}

.sl-also{background:#fff;border:1px solid var(--n-150);border-radius:var(--r-xl);
  box-shadow:var(--shadow-2);padding:22px 24px;margin-top:16px}
.sl-also b{display:block;font-family:var(--f-header);font-weight:600;font-size:14.5px;
  color:var(--navy-900);margin-bottom:12px}
.sl-also ul{display:flex;gap:9px;flex-wrap:wrap;list-style:none;margin:0 0 14px;padding:0}
.sl-also li{display:inline-flex;align-items:center;gap:7px;background:var(--n-50);
  border:1px solid var(--n-100);border-radius:var(--r-full);padding:6px 13px;
  font-size:13px;color:var(--n-600)}
.sl-also li svg{width:13px;height:13px;fill:var(--success);flex:none}
.sl-skip{font-size:13.5px;color:var(--n-500);line-height:1.65;padding-top:13px;
  border-top:1px solid var(--n-100)}
.sl-skip b{display:inline;font-size:13.5px;color:var(--navy-900)}

.sl-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:30px}
.sl-step{background:#fff;border:1px solid var(--n-150);border-radius:var(--r-lg);
  box-shadow:var(--shadow-2);padding:18px 16px}
.sl-step .n{font-family:var(--f-header);font-weight:700;font-size:12px;color:var(--brand-700);
  width:26px;height:26px;border-radius:50%;background:var(--info-bg);
  display:grid;place-items:center;margin-bottom:11px}
.sl-step h3{font-family:var(--f-header);font-weight:600;font-size:14px;
  color:var(--navy-900);margin-bottom:6px;line-height:1.35}
.sl-step p{font-size:12.6px;line-height:1.6;color:var(--n-500)}

.sl-tbl-wrap{background:#fff;border:1px solid var(--n-150);border-radius:var(--r-xl);
  box-shadow:var(--shadow-2);overflow:hidden;margin-top:30px}
.sl-tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.sl-tbl{width:100%;border-collapse:collapse;min-width:520px}
.sl-tbl th{background:var(--n-50);font-family:var(--f-header);font-weight:600;font-size:12.5px;
  color:var(--n-600);text-align:left;padding:14px 20px;border-bottom:1px solid var(--n-150);
  text-transform:uppercase;letter-spacing:.04em}
.sl-tbl td{padding:15px 20px;border-bottom:1px solid var(--n-100);font-size:14px;color:var(--n-600)}
.sl-tbl tr:last-child td{border-bottom:none}
.sl-tbl tr:hover td{background:var(--n-50)}
.sl-tbl td:first-child{font-family:var(--f-header);font-weight:600;color:var(--navy-900);white-space:nowrap}

.sl-other{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:8px}
.sl-other a{display:inline-flex;align-items:center;gap:8px;background:#fff;
  border:1px solid var(--n-150);border-radius:var(--r-full);padding:9px 16px;
  font-family:var(--f-header);font-weight:600;font-size:13.5px;color:var(--navy-900);
  transition:border-color .15s ease,color .15s ease}
.sl-other a:hover{border-color:var(--brand-600);color:var(--brand-700)}
.sl-other a svg{width:15px;height:15px;fill:var(--brand-700)}

/* hub */
.sl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px}
.sl-hub{display:block;background:#fff;border:1px solid var(--n-150);border-radius:var(--r-xl);
  box-shadow:var(--shadow-2);padding:24px;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.sl-hub:hover{transform:translateY(-3px);box-shadow:var(--shadow-3);border-color:var(--brand-600)}
.sl-hub-ic{width:46px;height:46px;border-radius:12px;background:var(--info-bg);
  display:grid;place-items:center;margin-bottom:15px}
.sl-hub-ic svg{width:23px;height:23px;fill:var(--info)}
.sl-hub-ic.g{background:var(--success-bg)}.sl-hub-ic.g svg{fill:var(--success)}
.sl-hub-ic.w{background:var(--warning-bg)}.sl-hub-ic.w svg{fill:var(--warning)}
.sl-hub-ic.p{background:var(--purple-bg)}.sl-hub-ic.p svg{fill:var(--purple)}
.sl-hub h3{font-family:var(--f-header);font-weight:600;font-size:17.5px;
  color:var(--navy-900);margin-bottom:7px}
.sl-hub p{font-size:14px;color:var(--n-500);line-height:1.65}
.sl-hub .go{display:inline-flex;align-items:center;gap:7px;margin-top:14px;
  font-family:var(--f-header);font-weight:600;font-size:13.5px;color:var(--brand-700)}
.sl-hub .go svg{width:14px;height:14px;fill:var(--brand-700);transition:transform .18s ease}
.sl-hub:hover .go svg{transform:translateX(3px)}

@media(max-width:980px){
  .sl-hero-in{grid-template-columns:1fr;gap:36px}
  .sl-hero h1{font-size:31px}
  .sl-flow{grid-template-columns:repeat(2,1fr)}
  .sl-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .sl-hero{padding:42px 0 38px}
  .sl-hero h1{font-size:27px}
  .sl-hero .sub{font-size:16.5px}
  .sl-sec{padding:44px 0}
  .sl-sec h2{font-size:23px}
  .sl-pain,.sl-mods,.sl-grid{grid-template-columns:1fr}
  .sl-flow{grid-template-columns:1fr}
}
