/* ============================================================
   Trust infrastructure demo module — dark liquid glass card
   ============================================================ */
.infrastructure{position:relative;overflow:hidden;
  background:radial-gradient(ellipse 800px 500px at 85% -10%,rgba(66,158,255,.14),transparent 60%),#f3f7fd}
.infrastructure-heading{max-width:640px;margin-bottom:40px}
.infrastructure-heading p:not(.eyebrow){color:var(--muted);line-height:1.6}
.infrastructure-heading .eyebrow{color:var(--blue)}
.infrastructure-heading h2{color:var(--ink)}

.infra-shell{position:relative;overflow:hidden;border-radius:28px;
  border:1px solid rgba(140,190,255,.2);
  background:linear-gradient(165deg,#0c1c36,#0a1428 65%);
  box-shadow:0 30px 80px -24px rgba(10,30,60,.45),inset 0 1px 1px rgba(255,255,255,.08)}
.infra-nav{position:relative;z-index:1;display:flex;gap:4px;align-items:center;padding:14px 16px;
  border-bottom:1px solid rgba(255,255,255,.08)}
.infra-tab,.theme-toggle{border:0;border-radius:999px;padding:9px 15px;color:#9fb4d4;background:transparent;
  font-size:12.5px;font-weight:700;transition:background .2s,color .2s}
.infra-tab:not(.active):hover{color:#fff;background:rgba(255,255,255,.08)}
.infra-tab.active{color:#03101f;background:linear-gradient(135deg,#6fd7ff,#2f7dfa);box-shadow:0 6px 16px rgba(47,125,250,.4)}
.theme-toggle{margin-left:auto;font-size:16px;color:#cfe0f7}
.theme-toggle:hover{background:rgba(255,255,255,.08)}
.infra-content{position:relative;z-index:1;min-height:360px;padding:24px}
.infra-view{display:none;gap:20px;grid-template-columns:300px 1fr}
.infra-view.active{display:grid;animation:infraIn .4s cubic-bezier(.2,.9,.25,1)}
@keyframes infraIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.mini-phone,.trust-ledger,.passport-card-demo,.passport-history{padding:20px;border-radius:20px;
  border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04)}
.mini-label{margin:0 0 4px;color:#6fd7ff;font-size:10.5px;font-weight:800;letter-spacing:.07em}
.mini-phone h3,.trust-ledger h3,.passport-history h3{margin:0 0 16px;color:#fff;font-size:17px}
.mini-rail{display:flex;align-items:center;justify-content:space-between;margin:13px 0 18px}
.mini-rail span{display:grid;place-items:center;width:25px;height:25px;border:1px solid rgba(255,255,255,.2);
  border-radius:50%;color:#8ea3c2;font-size:11px}
.mini-rail .done{border-color:#30d089;color:#03101f;background:#30d089}
.mini-rail .current{border-color:#6fd7ff;color:#6fd7ff;box-shadow:0 0 0 4px rgba(111,215,255,.14)}
.mini-rail i{height:2px;flex:1;background:rgba(255,255,255,.14)}
.mini-stage{padding:18px;border-radius:16px;text-align:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.mini-icon{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 8px;border-radius:50%;
  color:#03101f;background:linear-gradient(135deg,#6fd7ff,#2f7dfa)}
.mini-stage b{color:#fff;font-size:14px}
.mini-stage p{margin:5px 0 10px;color:#93a8c8;font-size:11px;line-height:1.5}
.mini-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.mini-photos i{aspect-ratio:1;border-radius:8px;background:linear-gradient(135deg,#3f6a97,#a9d3f5 55%,#294769)}
.mini-button{width:100%;margin-top:12px;border:0;border-radius:999px;padding:12px;color:#03101f;
  background:linear-gradient(135deg,#6fd7ff,#2f7dfa);font-size:12.5px;font-weight:800;
  box-shadow:0 8px 20px rgba(47,125,250,.4);transition:transform .2s,filter .2s}
.mini-button:hover{transform:translateY(-2px);filter:brightness(1.06)}
.mini-button:disabled{background:linear-gradient(135deg,#30d089,#1ea36b);cursor:default;transform:none}
.trust-ledger article,.passport-history article{padding:13px;margin-top:8px;border-radius:14px;
  border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.trust-ledger article:last-child{animation:ledgerEntry .4s cubic-bezier(.2,.9,.25,1) both}
@keyframes ledgerEntry{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.trust-ledger b,.trust-ledger small,.passport-history b,.passport-history small{display:block}
.trust-ledger b,.passport-history b{color:#e8f0fb;font-size:13px}
.trust-ledger small{margin-top:4px;color:#8ea3c2;font-size:10.5px}

.partner-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;grid-column:1/-1}
.partner-stats article{padding:18px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04)}
.partner-stats small,.partner-stats b{display:block}
.partner-stats small{color:#8ea3c2;font-size:10px;letter-spacing:.06em}
.partner-stats b{margin-top:6px;color:#fff;font-size:23px;font-family:var(--display-font)}
.partner-table{grid-column:1/-1;overflow:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03)}
.partner-table>div,.partner-table article{display:grid;grid-template-columns:1.2fr 1fr .65fr;gap:12px;padding:14px 17px}
.partner-table>div{color:#8ea3c2;border-bottom:1px solid rgba(255,255,255,.08);font-size:10px;font-weight:800;letter-spacing:.05em}
.partner-table article{border-bottom:1px solid rgba(255,255,255,.06);font-size:12.5px;color:#dce6f4}
.partner-table article:last-child{border:0}
.partner-table em{justify-self:start;border-radius:999px;padding:4px 9px;color:#3fe3a0;background:rgba(48,208,137,.16);
  font-size:10px;font-style:normal;font-weight:750}
.partner-table em.progressing{color:#ffc35c;background:rgba(255,195,92,.16)}

.passport-card-demo{text-align:center}
.avatar{display:grid;place-items:center;width:60px;height:60px;margin:auto;border-radius:50%;color:#03101f;
  background:linear-gradient(135deg,#6fd7ff,#30d089);font-weight:800}
.passport-card-demo h3{margin:11px 0 2px;color:#fff}
.passport-card-demo>p{margin:0;color:#8ea3c2;font-size:11px}
.score{display:grid;place-items:center;width:86px;height:86px;margin:15px auto;border:7px solid #30d089;
  border-radius:50%;color:#fff;font-size:20px;font-weight:800;box-shadow:0 0 0 6px rgba(48,208,137,.12)}
.score small{font-size:8px;color:#8ea3c2}
.passport-card-demo span{display:inline-block;margin:3px;padding:5px 9px;border:1px solid rgba(255,255,255,.14);
  border-radius:999px;color:#cfe0f7;font-size:10px}
.passport-history small{margin-top:4px;color:#3fe3a0;font-size:10px}

.infra-shell.light{background:linear-gradient(165deg,#ffffff,#f2f7fd 65%);border-color:rgba(120,168,222,.25)}
.infra-shell.light .infra-nav{border-color:rgba(120,168,222,.18)}
.infra-shell.light .infra-tab{color:#5c6c85}
.infra-shell.light .infra-tab:not(.active):hover{color:var(--ink);background:rgba(47,125,250,.08)}
.infra-shell.light .theme-toggle{color:#5c6c85}
.infra-shell.light .theme-toggle:hover{background:rgba(47,125,250,.08)}
.infra-shell.light .mini-phone,.infra-shell.light .trust-ledger,.infra-shell.light .passport-card-demo,
.infra-shell.light .passport-history,.infra-shell.light .partner-stats article,.infra-shell.light .partner-table{
  background:#fff;border-color:rgba(120,168,222,.18)}
.infra-shell.light .mini-stage{background:#f3f7fd;border-color:rgba(120,168,222,.14)}
.infra-shell.light .mini-stage b,.infra-shell.light .trust-ledger b,.infra-shell.light .passport-history b,
.infra-shell.light .passport-card-demo h3,.infra-shell.light .partner-stats b,.infra-shell.light .partner-table article,
.infra-shell.light .mini-phone h3,.infra-shell.light .trust-ledger h3,.infra-shell.light .passport-history h3{color:var(--ink)}
.infra-shell.light small,.infra-shell.light .mini-stage p,.infra-shell.light .passport-card-demo>p,
.infra-shell.light .mini-rail span,.infra-shell.light .partner-stats small{color:var(--muted)}
.infra-shell.light .partner-table>div{color:var(--muted);border-color:rgba(120,168,222,.18)}
.infra-shell.light .passport-card-demo span{border-color:#d3e1f0;color:var(--ink)}

@media(max-width:700px){
  .infra-view.active{grid-template-columns:1fr}
  .partner-stats{grid-template-columns:1fr 1fr}
  .partner-table>div,.partner-table article{grid-template-columns:1fr .8fr}
  .partner-table span:nth-child(2),.partner-table article span{display:none}
}
