.access-topbar{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,255,255,.95);
  border-bottom:1px solid var(--color-border);
  backdrop-filter:blur(12px);
}

.access-topbar__inner{
  width:min(1120px, calc(100% - 32px));
  min-height:72px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}

.access-brand{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  color:var(--color-fg);
  text-decoration:none;
  font-weight:800;
}

.access-brand img{
  width:34px;
  height:34px;
  object-fit:contain;
}

.access-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.28rem;
  flex-wrap:wrap;
}

.access-nav a{
  padding:.5rem .65rem;
  border-radius:9px;
  color:var(--color-muted);
  text-decoration:none;
  font-size:.86rem;
  font-weight:800;
}

.access-nav a:hover{
  background:color-mix(in srgb,var(--color-primary) 8%, #ffffff);
  color:var(--color-primary);
}

.access-nav__primary{
  background:var(--color-fg);
  color:#ffffff !important;
}

.access-shell{
  min-height:calc(100vh - 72px);
  padding:0 1rem 2rem;
  background:
    linear-gradient(180deg, #ffffff 0%, color-mix(in srgb,var(--color-primary) 5%, #ffffff) 100%),
    var(--color-bg);
}

.access-shell__inner{
  width:min(1120px, 100%);
  margin:0 auto;
  display:grid;
  gap:1rem;
}

.access-hero{
  display:block;
  padding:4.25rem 0 2.75rem;
  border-bottom:1px solid var(--color-border);
}

.access-hero__eyebrow,
.access-section__eyebrow{
  margin:0 0 .6rem 0;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
  font-weight:800;
  color:var(--color-primary);
}

.access-hero h1{
  max-width:760px;
  margin:0;
  color:var(--color-fg);
  font-size:clamp(2.2rem, 5vw, 4.4rem);
  letter-spacing:-.04em;
  line-height:1.08;
}

.access-hero p:last-child{
  margin:1.15rem 0 0 0;
  color:var(--color-muted);
  line-height:1.55;
  max-width:64ch;
  font-size:1.04rem;
}

.access-section{
  padding:3.25rem 0;
}

.access-section--soft{
  padding:1.25rem;
  border:1px solid var(--color-border);
  border-radius:18px;
  background:#ffffff;
  box-shadow:0 10px 26px rgba(15,79,134,.06);
}

.access-section__head{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(260px, .5fr);
  gap:1.5rem;
  align-items:end;
  margin-bottom:1.25rem;
}

.access-section__head h2{
  margin:0;
  color:var(--color-fg);
  font-size:clamp(1.45rem, 3vw, 2.45rem);
  letter-spacing:-.03em;
}

.platform-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.9rem;
}

.platform-card,
.news-card{
  padding:1.05rem;
  border:1px solid var(--color-border);
  border-radius:16px;
  background:#ffffff;
  box-shadow:0 10px 26px rgba(15,79,134,.055);
}

.platform-card{
  min-height:218px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:1rem;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.platform-card:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--color-primary) 30%, var(--color-border));
  box-shadow:0 14px 34px rgba(15,79,134,.12);
}

.access-card__tag,
.news-card__date{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  margin:0 0 .65rem 0;
  padding:.28rem .62rem;
  border-radius:999px;
  background:color-mix(in srgb,var(--color-primary) 10%, #ffffff);
  color:var(--color-primary);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.03em;
}

.platform-card h3,
.news-card h3{
  display:flex;
  align-items:center;
  gap:.45rem;
  margin:0 0 .45rem 0;
  color:var(--color-fg);
}

.platform-card h3 img{
  width:28px;
  height:28px;
  object-fit:contain;
  flex:0 0 auto;
}

.platform-card p,
.news-card p{
  margin:0;
  color:var(--color-muted);
  line-height:1.5;
}

.platform-actions{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.55rem;
}

.platform-actions .btn{
  width:100%;
  justify-content:center;
  white-space:nowrap;
}

.news-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.9rem;
}

.access-footer{
  padding:1.75rem 0 2.1rem;
  background:#ffffff;
  border-top:1px solid var(--color-border);
  color:var(--color-muted);
  font-size:.9rem;
}

.access-footer__grid{
  width:min(1120px, calc(100% - 32px));
  margin:0 auto;
  display:grid;
  grid-template-columns:1.2fr repeat(3, minmax(0, 1fr));
  gap:.9rem;
  text-align:left;
}

.access-footer__grid strong{
  display:block;
  color:var(--color-fg);
  font-size:.84rem;
  margin-bottom:.25rem;
}

.access-footer__grid span{
  display:block;
}

@media (max-width:900px){
  .access-topbar__inner{
    align-items:flex-start;
    flex-direction:column;
    padding:.8rem 0;
  }

  .access-nav{
    justify-content:flex-start;
  }

  .access-section__head{
    grid-template-columns:1fr;
  }

  .access-hero{
    padding:2.6rem 0 2rem;
  }

  .platform-grid,
  .news-grid,
  .access-footer__grid{
    grid-template-columns:1fr;
  }

  .platform-card{
    min-height:auto;
  }
}

@media (max-width:520px){
  .access-shell{
    padding:0 .7rem 1.5rem;
  }

  .access-topbar__inner{
    width:min(100% - 22px, 1120px);
  }

  .access-hero h1{
    font-size:2.18rem;
  }

  .access-section--soft{
    padding:1rem;
  }

  .platform-actions{
    grid-template-columns:1fr;
  }
}
