/* PCIe and embedded solution — technical components within the shared Solutions system */
:root{
  --di-navy:var(--n0,#0f2238);--di-navy2:var(--n1,#1a3557);--di-blue:var(--n2,#24487a);
  --di-orange:var(--o2,#e5551a);--di-ink:var(--t1,#0f2238);--di-muted:var(--t3,#5a7494);
  --di-line:var(--ln2,rgba(26,53,87,.18));--di-soft:var(--bg,#f7f9fc);--di-green:#18794e;
}
.di-page{background:#fff;color:var(--di-ink);font-family:var(--f-body,'Inter',sans-serif)}
.di-rail{width:var(--rail,min(1360px,100% - 64px));margin-inline:auto}
.di-kicker{color:var(--di-orange);font-family:var(--f-mono);font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.di-h2{max-width:900px;margin:10px 0 0;color:var(--di-navy);font-family:var(--f-head);font-size:clamp(30px,4vw,52px);font-weight:700;letter-spacing:-.018em;line-height:1.1}
.di-intro{max-width:780px;margin:0;color:var(--di-muted);font-size:15px;line-height:1.72;text-align:left}
.di-section{padding:clamp(64px,7vw,96px) 0}.di-section--soft{background:var(--di-soft)}.di-section--navy{background:var(--di-navy);color:#fff}
.di-section--navy :is(.di-h2,h3){color:#fff}.di-section--navy .di-intro{color:var(--di2,#95b4cf)}
.di-section-head{display:block;max-width:920px;margin-bottom:clamp(28px,4vw,44px)}.di-section-head .di-intro{margin-top:14px}

/* Hero and navigation */
.di-hero{position:relative;overflow:hidden;padding:clamp(56px,6vw,84px) 0;background:var(--di-navy);color:#fff}
.di-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr);gap:clamp(38px,6vw,78px);align-items:center}
.di-hero h1{max-width:880px;margin:14px 0 20px;color:#fff;font-family:var(--f-head);font-size:clamp(42px,5.5vw,76px);font-weight:700;letter-spacing:-.025em;line-height:1.04}
.di-hero-lead{max-width:740px;margin:0;color:var(--di2,#95b4cf);font-size:17px;line-height:1.72}.di-hero-facts{display:none}
.di-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.di-btn{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:0 22px;border:1px solid transparent;border-radius:var(--rad,8px);font-family:var(--f-head);font-size:13px;font-weight:600;cursor:pointer}
.di-btn--primary{border-color:var(--di-orange);background:var(--di-orange);color:#fff}.di-btn--ghost{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.07);color:#fff}
.di-anchorbar{position:sticky;top:110px;z-index:25;border-bottom:1px solid var(--di-line);background:#fff}.di-anchorbar-inner{display:flex;gap:4px;overflow:auto;padding:9px 0;scrollbar-width:none}.di-anchorbar-inner::-webkit-scrollbar{display:none}
.di-anchorbar a{padding:9px 12px;border-radius:var(--rad,8px);color:var(--di-navy);font-size:12px;font-weight:600;white-space:nowrap}.di-anchorbar a:hover{background:var(--di-soft);color:var(--di-orange)}

/* Hero architecture visual */
.di-fabric{padding:22px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.07);box-shadow:0 24px 60px rgba(0,0,0,.22)}
.di-fabric-label{margin-bottom:16px;color:var(--di2,#95b4cf);font-family:var(--f-mono);font-size:9px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.di-node-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.di-node{padding:14px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(255,255,255,.07)}
.di-node strong{display:block;margin-bottom:4px;color:#fff;font-size:14px}.di-node span{color:var(--di2,#95b4cf);font-size:12px}
.di-linkline{position:relative;height:42px}.di-linkline::before{content:"";position:absolute;top:20px;right:14%;left:14%;height:2px;background:var(--di-orange)}.di-linkline::after{content:"PCIe fabric";position:absolute;top:8px;left:50%;padding:4px 9px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:var(--di-navy2);color:#fff;font-size:10px;transform:translateX(-50%)}
.di-switch{padding:18px;border:1px solid rgba(229,85,26,.65);border-radius:10px;background:rgba(229,85,26,.12);text-align:center}.di-switch strong{display:block}.di-switch span{display:block;margin-top:5px;color:var(--di2,#95b4cf);font-size:12px}
.di-endpoints{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.di-endpoint{padding:11px 8px;border-radius:7px;background:#fff;color:var(--di-navy);font-size:12px;font-weight:600;text-align:center}

/* Requirement and configuration */
.di-summary-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}.di-callout{padding:24px 25px;border-left:2px solid var(--di-orange);background:#fff}.di-callout strong{display:block;margin-bottom:9px;color:var(--di-navy);font-family:var(--f-head);font-size:18px;font-weight:600}.di-callout p{margin:0;color:var(--di-muted);line-height:1.7;text-align:left}
.di-pillars{display:block;border-top:1px solid var(--di-line)}.di-pillar{display:grid;grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);gap:clamp(36px,6vw,88px);padding:26px 0;border:0;border-bottom:1px solid var(--di-line);border-radius:0;background:transparent}.di-pillar:nth-child(odd){margin-right:0;border-right:0}
.di-pillar b{grid-column:1;display:block;margin-bottom:7px;color:var(--di-orange);font-family:var(--f-mono);font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.di-pillar h3{grid-column:1;margin:0;color:var(--di-navy);font-family:var(--f-head);font-size:17px;font-weight:600}.di-pillar p{grid-column:2;grid-row:1/span 2;margin:0;color:var(--di-muted);font-size:14px;line-height:1.65;text-align:left}
.di-config-map{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:34px}.di-config-step{position:relative;min-height:150px;padding:18px 15px;border:1px solid var(--di-line);border-radius:var(--rad,8px);background:#fff}
.di-config-step:not(:last-child)::after{content:"";position:absolute;top:50%;right:-13px;z-index:2;width:12px;height:2px;background:var(--di-orange)}.di-step-no{color:var(--di-orange);font-family:var(--f-mono);font-size:9px;font-weight:600;letter-spacing:.12em}.di-config-step h3{margin:8px 0 10px;color:var(--di-navy);font-family:var(--f-head);font-size:16px;font-weight:600}.di-config-step p{margin:0;color:var(--di-muted);font-size:13px;line-height:1.55;text-align:left}

/* Architecture, product families and software */
.di-architecture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.di-architecture{position:relative;overflow:hidden;padding:24px;border:1px solid var(--di-line);border-radius:var(--rad,8px);background:#fff}.di-architecture::before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:var(--di-orange)}
.di-architecture small{display:block;margin-bottom:10px;color:var(--di-orange);font-family:var(--f-mono);font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.di-architecture h3{margin:0 0 10px;color:var(--di-navy);font-family:var(--f-head);font-size:19px;font-weight:600}.di-architecture p{margin:0 0 16px;color:var(--di-muted);font-size:14px;line-height:1.65;text-align:left}
.di-tags,.di-os{display:flex;flex-wrap:wrap;gap:7px}.di-tags span,.di-os span{padding:6px 9px;border:1px solid var(--di-line);border-radius:999px;background:var(--di-soft);color:var(--di-muted);font-size:11px;font-weight:600}
.di-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.di-product{padding:24px;border:1px solid rgba(255,255,255,.14);border-radius:var(--rad,8px);background:rgba(255,255,255,.055)}.di-product .di-product-index{display:none}
.di-product h3{margin:0 0 10px;color:#fff;font-family:var(--f-head);font-size:18px;font-weight:600}.di-product p{margin:0 0 14px;color:var(--di2,#95b4cf);font-size:14px;line-height:1.62;text-align:left}.di-product ul{padding:0;color:var(--di1,#e8eff8);font-size:13px;line-height:1.7;list-style:none}.di-product li{position:relative;padding-left:13px}.di-product li::before{content:"";position:absolute;top:.72em;left:0;width:4px;height:4px;border-radius:50%;background:var(--di-orange)}
.di-genbar{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:28px;border-top:1px solid rgba(255,255,255,.16)}.di-gen{padding:18px 22px;border-right:1px solid rgba(255,255,255,.14)}.di-gen:last-child{border-right:0}.di-gen strong{display:block}.di-gen span{display:block;margin-top:5px;color:var(--di2,#95b4cf);font-size:12px;line-height:1.5}
.di-software-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:start}.di-stack{display:grid;gap:9px}.di-layer{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:16px 18px;border:1px solid var(--di-line);border-radius:var(--rad,8px);background:#fff}.di-layer strong{color:var(--di-navy)}.di-layer span{color:var(--di-muted);font-size:13px;line-height:1.55}.di-layer--core{border-color:var(--f5b894,#f5b894);background:var(--o-bg,#fef2ec)}
.di-software-copy{padding:30px;border-radius:var(--rad,8px);background:var(--di-navy);color:#fff}.di-software-copy h3{margin:0 0 13px;color:#fff;font-family:var(--f-head);font-size:24px;font-weight:600}.di-software-copy p{margin:0 0 16px;color:var(--di2,#95b4cf);line-height:1.7;text-align:left}.di-software-copy .di-os span{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:#fff}

/* Topologies, applications and comparison rows */
.di-topology-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.di-topology{padding:20px;border:1px solid var(--di-line);border-radius:var(--rad,8px);background:#fff}.di-topology svg{width:100%;height:92px;margin-bottom:12px}.di-topology h3{margin:0 0 7px;color:var(--di-navy);font-family:var(--f-head);font-size:17px;font-weight:600}.di-topology p{margin:0;color:var(--di-muted);font-size:13px;line-height:1.56;text-align:left}
.di-app-grid{display:block;border-top:1px solid var(--di-line)}.di-app{display:grid;grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);gap:clamp(36px,6vw,88px);padding:24px 0;border:0;border-bottom:1px solid var(--di-line);border-radius:0;background:transparent}.di-app:not(:nth-child(3n)){margin-right:0;border-right:0}.di-app b{grid-column:1;display:block;margin-bottom:7px;color:var(--di-orange);font-family:var(--f-mono);font-size:9px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.di-app h3{grid-column:1;margin:0;color:var(--di-navy);font-family:var(--f-head);font-size:17px;font-weight:600}.di-app p{grid-column:2;grid-row:1/span 2;margin:0;color:var(--di-muted);font-size:14px;line-height:1.62;text-align:left}
.di-table-wrap{overflow:auto;border:1px solid var(--di-line);border-radius:12px;background:#fff}.di-table{width:100%;min-width:920px;border-collapse:collapse;table-layout:fixed}.di-table th{padding:16px 18px;background:var(--di-navy);color:#fff;font-size:12px;line-height:1.4;text-align:left;vertical-align:bottom}.di-table td{padding:17px 18px;border-bottom:1px solid var(--di-line);color:var(--di-muted);font-size:13px;line-height:1.58;text-align:left;vertical-align:top}.di-table th:first-child,.di-table td:first-child{width:20%;color:var(--di-navy);font-weight:600}.di-table th:first-child{color:#fff}.di-table tr:last-child td{border-bottom:0}.di-good{color:var(--di-green);font-weight:600}
.di-check-grid{display:block;overflow:visible;margin-top:28px;border:0;border-top:1px solid var(--di-line);border-radius:0;background:transparent}.di-check{display:grid;grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);gap:clamp(36px,6vw,88px);padding:22px 0;border:0;border-bottom:1px solid var(--di-line)}.di-check span{color:var(--di-muted);font-size:14px;line-height:1.62;text-align:left}.di-check strong{display:block;color:var(--di-navy);font-family:var(--f-head);font-weight:600}

/* FAQ and final engineering support */
.di-faq{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.di-faq details{padding:0 18px;border:1px solid var(--di-line);border-radius:var(--rad,8px);background:#fff}.di-faq summary{position:relative;padding:18px 30px 18px 0;color:var(--di-navy);font-family:var(--f-head);font-weight:600;list-style:none;cursor:pointer}.di-faq summary::-webkit-details-marker{display:none}.di-faq summary::after{content:"+";position:absolute;top:14px;right:0;color:var(--di-orange);font-size:22px}.di-faq details[open] summary::after{content:"−"}.di-faq p{margin:0 0 18px;color:var(--di-muted);font-size:14px;line-height:1.65;text-align:left}
.di-support{display:grid;grid-template-columns:1.08fr .92fr;gap:42px}.di-support-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:28px}.di-support-step{padding:14px 10px;border:1px solid rgba(255,255,255,.17);border-radius:6px;background:rgba(255,255,255,.055)}.di-support-step b{display:block;margin-bottom:7px;color:var(--di-orange);font-family:var(--f-mono);font-size:9px;letter-spacing:.09em}.di-support-step span{color:var(--di2,#95b4cf);font-size:12px;line-height:1.4}
.di-requirement{padding:28px;border-radius:var(--rad,8px);background:#fff;color:var(--di-navy)}.di-requirement h3{margin:0 0 15px;font-family:var(--f-head);font-size:21px;font-weight:600}.di-requirement ul{padding-left:18px;color:var(--di-muted);font-size:13px;line-height:1.75;list-style:disc}.di-requirement .di-btn{width:100%;margin-top:20px}.di-note{margin-top:18px;color:var(--di-muted);font-size:12px;line-height:1.55}

body[data-page-type="solution"] .di-page .di-table-wrap{border-radius:12px!important}
body[data-page-type="solution"] .di-page .di-table :is(th,td){padding:17px 18px!important;text-align:left!important;vertical-align:top!important}
body[data-page-type="solution"] .di-page :is(.di-section--navy .di-h2,.di-section--navy .di-product h3,.di-software-copy h3,.di-support .di-h2){color:#fff!important}
body[data-page-type="solution"] .di-page :is(.di-section--navy .di-intro,.di-section--navy .di-product p,.di-software-copy p){color:var(--di2,#95b4cf)!important}

@media(max-width:980px){
  .di-hero-grid,.di-summary-grid,.di-software-grid,.di-support{grid-template-columns:1fr}.di-anchorbar{top:60px}.di-architecture-grid,.di-product-grid{grid-template-columns:repeat(2,1fr)}
  .di-config-map{grid-template-columns:1fr}.di-config-step{min-height:0}.di-config-step:not(:last-child)::after{top:auto;right:auto;bottom:-13px;left:50%;width:2px;height:12px}
  .di-topology-grid{grid-template-columns:repeat(2,1fr)}.di-support-flow{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:640px){
  .di-rail{width:min(100% - 32px,1360px)}.di-section{padding:58px 0}.di-hero h1{font-size:clamp(38px,11vw,52px)}.di-hero-lead{font-size:15px}.di-node-row{grid-template-columns:1fr}.di-endpoints{grid-template-columns:1fr}
  .di-architecture-grid,.di-product-grid,.di-genbar,.di-topology-grid,.di-faq,.di-support-flow{grid-template-columns:1fr}.di-gen{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.di-gen:last-child{border-bottom:0}
  .di-pillar,.di-app,.di-check,.di-layer{grid-template-columns:1fr;gap:7px}.di-pillar p,.di-app p{grid-column:1;grid-row:auto}.di-anchorbar{position:static}
}

/* PCIe visual refinement: unambiguous flow, aligned matrices and visible interaction */
.di-section{padding-block:clamp(58px,6vw,82px)}
.di-fabric{padding:23px;border-radius:14px;background:rgba(255,255,255,.075);box-shadow:0 22px 54px rgba(0,0,0,.2)}
.di-fabric-label{margin-bottom:14px;color:#c4d6e7!important}
.di-node{min-width:0;padding:13px 14px;background:rgba(255,255,255,.09)}
.di-node strong,.di-switch strong{color:#fff!important;line-height:1.35}.di-node span,.di-switch span{color:#c4d6e7!important;line-height:1.45}
.di-linkline{height:38px}
.di-linkline::before{top:0;right:auto;bottom:0;left:50%;width:2px;height:auto;background:rgba(229,85,26,.9);transform:translateX(-50%)}
.di-linkline::after{content:"↓";top:50%;left:50%;display:grid;width:25px;height:25px;place-items:center;padding:0;border:2px solid var(--di-navy);border-radius:50%;background:var(--di-orange);color:#fff;font-size:13px;font-weight:700;line-height:1;transform:translate(-50%,-50%)}
.di-switch{padding:16px 18px}.di-endpoints{margin-top:0}.di-endpoint{border:1px solid rgba(255,255,255,.18);background:#fff;color:var(--di-navy)!important}

.di-btn{transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s}
.di-btn:hover{transform:translateY(-2px)}
.di-btn--primary:hover{border-color:#c8420f;background:#c8420f;box-shadow:0 8px 20px rgba(229,85,26,.25)}
.di-btn--ghost:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.15);box-shadow:0 8px 20px rgba(0,0,0,.16)}
.di-page :is(a.di-architecture,a.di-product,a.di-topology,a.di-app,a.di-config-step){transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s}
.di-page :is(a.di-architecture,a.di-product,a.di-topology,a.di-app,a.di-config-step):hover{border-color:rgba(229,85,26,.55);box-shadow:0 14px 32px rgba(15,34,56,.12);transform:translateY(-3px)}

.di-table-wrap{border-radius:10px;box-shadow:0 14px 36px rgba(15,34,56,.065)}
.di-table{min-width:1040px;table-layout:fixed}
.di-table th{padding:15px 17px;border-right:1px solid rgba(255,255,255,.12);vertical-align:middle}
.di-table th:last-child{border-right:0}
.di-table td{padding:16px 17px;border-right:1px solid var(--di-line);vertical-align:top}
.di-table td:last-child{border-right:0}
.di-table tbody tr:nth-child(even){background:#f7f9fc}
.di-table tbody tr{transition:background-color .16s,box-shadow .16s}.di-table tbody tr:hover{position:relative;background:#eef3f8;box-shadow:inset 3px 0 var(--di-orange)}
.di-table th:nth-child(1),.di-table td:nth-child(1){width:20%}.di-table th:nth-child(2),.di-table td:nth-child(2){width:18%}.di-table th:nth-child(3),.di-table td:nth-child(3){width:21%}.di-table th:nth-child(4),.di-table td:nth-child(4){width:18%}.di-table th:nth-child(5),.di-table td:nth-child(5){width:23%}

.di-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:28px;border:1px solid var(--di-line);background:var(--di-line)}
.di-check{grid-template-columns:minmax(130px,.42fr) minmax(0,1fr);gap:22px;min-height:112px;padding:22px 24px;border:0;background:#fff}
.di-check strong{align-self:start;color:var(--di-navy)!important;line-height:1.45}
.di-check span{align-self:start;color:var(--di-muted)!important;line-height:1.62}

.di-pillars,.di-app-grid{overflow:hidden;border:1px solid var(--di-line);border-top:1px solid var(--di-line);background:#fff}
.di-pillar,.di-app{padding:22px 24px}.di-pillar:nth-child(even),.di-app:nth-child(even){background:#f8fafc}

@media(max-width:980px){
  .di-fabric{max-width:720px}.di-table{min-width:980px}
}
@media(max-width:640px){
  .di-fabric{padding:18px}.di-node-row{gap:8px}.di-node{padding:12px}.di-linkline{height:34px}
  .di-check-grid{grid-template-columns:1fr}.di-check{grid-template-columns:1fr;gap:7px;min-height:0;padding:19px 20px}
  .di-pillar,.di-app{padding:20px}
}

/* PCIe contrast and editorial-row correction */
body[data-page-type="solution"] main.di-page .di-section--navy{background:var(--di-navy)!important;color:#fff!important}
body[data-page-type="solution"] main.di-page .di-section--navy .di-kicker{color:#ff8b5b!important}
body[data-page-type="solution"] main.di-page .di-section--navy :is(.di-h2,.di-product h3,.di-gen strong){color:#fff!important}
body[data-page-type="solution"] main.di-page .di-section--navy :is(.di-intro,.di-product p,.di-gen span){color:#b9cce0!important}
body[data-page-type="solution"] main.di-page .di-section--navy .di-product{border-color:rgba(255,255,255,.17)!important;background:rgba(255,255,255,.065)!important;box-shadow:none!important}
body[data-page-type="solution"] main.di-page .di-section--navy .di-product li{color:#e7eff6!important}
body[data-page-type="solution"] main.di-page .di-section--navy .di-product li::before{background:var(--di-orange)!important}
body[data-page-type="solution"] main.di-page .di-section--navy .di-genbar{border-color:rgba(255,255,255,.18)!important;background:transparent!important}
body[data-page-type="solution"] main.di-page .di-section--navy .di-gen{border-color:rgba(255,255,255,.15)!important;background:transparent!important}

.di-pillar,.di-app{position:relative;grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);grid-template-rows:auto;align-items:start;min-height:0;padding:23px 24px;gap:clamp(34px,5vw,72px)}
.di-pillar b,.di-app b{position:absolute;top:21px;left:24px;margin:0}
.di-pillar h3,.di-app h3{grid-column:1;grid-row:1;align-self:start;margin:0;padding-top:27px;line-height:1.38}
.di-pillar p,.di-app p{grid-column:2;grid-row:1;align-self:start;margin:0;padding:0;line-height:1.65}

@media(max-width:640px){
  .di-pillar,.di-app{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:0;padding:19px 20px}
  .di-pillar b,.di-app b{position:static;grid-column:1;grid-row:1;margin:0 0 8px}
  .di-pillar h3,.di-app h3{grid-column:1;grid-row:2;padding:0}
  .di-pillar p,.di-app p{grid-column:1;grid-row:3;margin-top:9px}
}
