    .infra-page .infra-wrap{
      max-width:1180px;
      margin:0 auto;
    }

    .infra-page .hero-note{
      margin-top:.65rem;
      font-weight:600;
    }

    .infra-page .hero-subnote{
      max-width:900px;
      margin:.75rem auto 0;
    }

    .infra-page .infra-intro{
      background:#fff;
      border:1px solid #e7eaee;
      border-radius:1rem;
      padding:1.35rem 1.4rem;
      box-shadow:0 8px 24px rgba(0,0,0,.04);
    }

    .infra-page .infra-intro p{
      margin:0;
      color:#495057;
      line-height:1.8;
    }

    .infra-page .infra-stage{
      display:grid;
      grid-template-columns:1fr 1fr 1fr;
      gap:1rem;
      align-items:stretch;
    }

    @media (max-width:991.98px){
      .infra-page .infra-stage{
        grid-template-columns:1fr;
      }
    }

    .infra-page .infra-rack,
    .infra-page .infra-note{
      min-height:620px;
      height:100%;
    }

    .infra-page .infra-rack{
      border-radius:1rem;
      padding:1.1rem;
      box-shadow:0 12px 32px rgba(0,0,0,.10);
      position:relative;
      overflow:hidden;
      display:flex;
      flex-direction:column;
    }

    .infra-page .infra-rack-a{
      background:linear-gradient(180deg,#101010 0%,#1a1a1a 100%);
      color:#fff;
      border:1px solid #2a2a2a;
    }

    .infra-page .infra-rack-b{
      background:linear-gradient(180deg,#2a2a2a 0%,#343434 100%);
      color:#fff;
      border:1px solid #414141;
    }

    .infra-page .infra-rack::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        repeating-linear-gradient(180deg, rgba(255,255,255,.03) 0 1px, transparent 1px 34px);
      pointer-events:none;
    }

    .infra-page .infra-rack-head,
    .infra-page .infra-rack-copy,
    .infra-page .infra-rack-list,
    .infra-page .infra-rack-foot{
      position:relative;
      z-index:1;
    }

    .infra-page .infra-rack-head{
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:1rem;
      margin-bottom:.95rem;
    }

    .infra-page .infra-rack-title{
      font-size:1rem;
      font-weight:700;
      margin-bottom:.2rem;
    }

    .infra-page .infra-rack-sub{
      font-size:.82rem;
      color:rgba(255,255,255,.70);
    }

    .infra-page .infra-badge{
      display:inline-flex;
      align-items:center;
      padding:.35rem .6rem;
      border-radius:999px;
      font-size:.72rem;
      font-weight:700;
      color:#fff;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.12);
      white-space:nowrap;
    }

    .infra-page .infra-rack-copy{
      margin-bottom:1rem;
      padding:.9rem .95rem;
      border-radius:.9rem;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
    }

    .infra-page .infra-rack-copy p{
      margin:0;
      color:rgba(255,255,255,.82);
      line-height:1.72;
      font-size:.93rem;
    }

    .infra-page .infra-rack-list{
      display:flex;
      flex-direction:column;
      gap:.75rem;
      flex:1 1 auto;
    }

    .infra-page .infra-rack-item{
      min-height:76px;
      display:flex;
      align-items:flex-start;
      gap:.75rem;
      padding:.82rem .85rem;
      border-radius:.85rem;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.08);
    }

    .infra-page .infra-rack-item i{
      font-size:1rem;
      margin-top:.15rem;
      color:#d7dbe0;
      flex:0 0 auto;
    }

    .infra-page .infra-rack-item span{
      color:rgba(255,255,255,.92);
      line-height:1.55;
      font-size:.94rem;
      display:block;
    }

    .infra-page .infra-rack-foot{
      margin-top:1rem;
      padding:.85rem .9rem;
      border-radius:.85rem;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
    }

    .infra-page .infra-rack-foot p{
      margin:0;
      color:rgba(255,255,255,.76);
      line-height:1.68;
      font-size:.91rem;
    }

    .infra-page .infra-note{
      background:#fff;
      border:1px solid #e7eaee;
      border-radius:1rem;
      padding:1.2rem;
      box-shadow:0 8px 24px rgba(0,0,0,.04);
      display:flex;
      flex-direction:column;
      justify-content:space-between;
    }

    .infra-page .infra-note-top{
      margin-bottom:1rem;
    }

    .infra-page .infra-kicker{
      display:inline-block;
      font-size:.78rem;
      font-weight:700;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:#6c757d;
      margin-bottom:.75rem;
    }

    .infra-page .infra-note h2{
      font-size:1.2rem;
      margin-bottom:.75rem;
      color:#111;
    }

    .infra-page .infra-note p{
      color:#495057;
      line-height:1.8;
      margin-bottom:.9rem;
    }

    .infra-page .infra-flow{
      display:flex;
      flex-direction:column;
      gap:.7rem;
    }

    .infra-page .infra-flow-item{
      display:flex;
      align-items:flex-start;
      gap:.7rem;
      padding:.8rem .85rem;
      border-radius:.85rem;
      background:#fafbfc;
      border:1px solid #eceff2;
      min-height:76px;
    }

    .infra-page .infra-flow-item i{
      font-size:1rem;
      color:#343a40;
      margin-top:.15rem;
      flex:0 0 auto;
    }

    .infra-page .infra-flow-item span{
      color:#495057;
      line-height:1.55;
      font-size:.94rem;
      display:block;
    }

    .infra-page .infra-text-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:1rem;
    }

    @media (max-width:991.98px){
      .infra-page .infra-text-grid{
        grid-template-columns:1fr;
      }
    }

    .infra-page .infra-text-card{
      min-height:170px;
      background:#fff;
      border:1px solid #e7eaee;
      border-radius:1rem;
      padding:1.15rem 1.15rem;
      box-shadow:0 8px 24px rgba(0,0,0,.04);
    }

    .infra-page .infra-text-card h3{
      font-size:1.05rem;
      color:#111;
      margin-bottom:.55rem;
    }

    .infra-page .infra-text-card p{
      margin:0;
      color:#495057;
      line-height:1.75;
    }

    .infra-page .infra-closing{
      background:#fff;
      border:1px solid #e7eaee;
      border-radius:1rem;
      padding:1.3rem 1.4rem;
      box-shadow:0 8px 24px rgba(0,0,0,.04);
      text-align:center;
    }

    .infra-page .infra-closing p{
      margin:0;
      color:#495057;
      line-height:1.8;
    }
