/* Rating Insular shared public shell — RI-3 Build A public parity */
:root{
  --ri-shell-width:1260px;
  --ri-content-width:1180px;
  --ri-shell-gutter:20px;
  --ri-shell-line:#ded8cc;
  --ri-shell-shadow:0 18px 48px rgba(17,17,15,.12);
}

/* Shared header/navigation geometry. Page-specific files should not own this. */
.topbar{
  position:sticky!important;
  top:0!important;
  z-index:100!important;
  overflow:visible!important;
  background:rgba(17,17,15,.97)!important;
  color:#fff!important;
  border-bottom:2px solid rgba(255,229,31,.24)!important;
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
}
.topbar-inner{
  width:min(var(--ri-shell-width),calc(100% - 40px));
  max-width:none!important;
  min-height:70px;
  margin:auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:120px minmax(0,1fr) 180px!important;
  align-items:center!important;
  gap:20px!important;
  overflow:visible!important;
  position:relative;
}
.brand{
  display:flex!important;
  align-items:flex-start!important;
  min-width:0;
  padding:0!important;
  margin-top:8px!important;
  margin-bottom:-46px!important;
  margin-left:-52px!important;
  text-decoration:none!important;
  position:relative!important;
}
.brand-logo{
  width:115px!important;
  height:115px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  flex:none!important;
  box-shadow:0 0 0 4px rgba(255,229,31,.55),0 0 0 7px rgba(17,17,15,.85),0 14px 40px rgba(0,0,0,.55)!important;
}
.nav{
  min-width:0;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
}
.nav .desktop-link{
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.2!important;
  min-height:44px!important;
  padding:8px 4px 10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap;
  color:rgba(255,255,255,.72)!important;
  text-decoration:none!important;
  border:0!important;
  border-bottom:2px solid transparent!important;
  border-radius:0!important;
  background:transparent!important;
}
.nav .desktop-link:hover{color:#fff!important;background:transparent!important;border-bottom-color:rgba(255,229,31,.45)!important}
.nav .desktop-link[aria-current="page"]{color:var(--yellow,#ffe51f)!important;background:transparent!important;border-bottom-color:var(--yellow,#ffe51f)!important}
.update,.update-stamp{
  justify-self:end!important;
  margin:0!important;
  min-width:0;
  text-align:right!important;
  display:grid!important;
  gap:2px!important;
  color:#9b9189!important;
  font-size:.62rem!important;
  line-height:1.18!important;
}
.update b,.update-stamp b{color:rgba(255,255,255,.84)!important}

/* Shared banner proportions while retaining each page's content composition. */
@media(min-width:901px){
  .hero-inner{height:360px!important;min-height:360px!important;grid-template-columns:1.3fr .7fr!important}
}
.hero-card{
  border-radius:20px!important;
  box-shadow:0 22px 50px rgba(17,17,15,.18)!important;
}

/* Shared content/footer rhythm. */
.main{
  width:min(var(--ri-content-width),calc(100% - 40px))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.ri-public-footer{margin-top:42px!important}
.ri-public-footer-inner{
  width:min(var(--ri-shell-width),calc(100% - 40px));
  max-width:none!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Common interactive surface polish. */
.hero-contact,.details,.primary,.secondary,.ghost,.reset,.tab,
.modal-dismiss,.contact-band a,.community-actions a,.newsletter-form button{
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;
}
@media(hover:hover) and (pointer:fine){
  .hero-contact:hover,.details:hover,.primary:hover,.modal-dismiss:hover,.contact-band a:hover,.community-actions a:hover,.newsletter-form button:hover{
    transform:translateY(-1px);
  }
}

@media(max-width:900px){
  .topbar-inner{
    width:calc(100% - 28px);
    grid-template-columns:100px minmax(0,1fr)!important;
    gap:12px!important;
  }
  .update,.update-stamp{display:none!important}
  .brand{margin-left:-20px!important}
  .nav{justify-content:flex-end!important;gap:8px!important}
  .main{width:calc(100% - 28px)!important}
  .ri-public-footer-inner{width:calc(100% - 28px)}
}
@media(max-width:620px){
  .topbar-inner{
    width:calc(100% - 20px);
    min-height:62px!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:6px!important;
  }
  .brand{margin-left:-10px!important;margin-bottom:-34px!important;margin-top:4px!important}
  .brand-logo{width:83px!important;height:83px!important}
  .nav{gap:4px!important}
  .nav .desktop-link{
    min-height:40px!important;
    padding:7px 7px!important;
    font-size:11px!important;
  }
  .main{width:calc(100% - 24px)!important}
  .ri-public-footer-inner{width:calc(100% - 24px)}
}
@media(max-width:430px){
  .nav .desktop-link{font-size:10px!important;padding:7px 5px!important}
}
