/* IterOrbis public account invitation - live69 */
.account-invite{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(280px,.78fr);
  gap:34px;
  align-items:center;
  margin-top:22px;
  margin-bottom:36px;
  padding:34px 38px;
  border:1px solid #dce8e2;
  border-radius:24px;
  background:
    radial-gradient(circle at 86% 20%,rgba(217,146,50,.10),transparent 210px),
    radial-gradient(circle at 73% 78%,rgba(11,107,85,.09),transparent 250px),
    linear-gradient(135deg,#fff 0%,#f8fbf9 58%,#f4f9f6 100%);
  box-shadow:0 16px 40px rgba(16,35,29,.07)
}
.account-invite:before{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  right:-98px;
  top:-118px;
  border:1px solid rgba(11,107,85,.09);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(11,107,85,.025),0 0 0 72px rgba(11,107,85,.02);
  pointer-events:none
}
.account-invite__copy{position:relative;z-index:2;min-width:0}
.account-invite__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:11px;
  color:#0b6b55;
  font-size:13px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase
}
.account-invite__eyebrow:before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#d99232;
  box-shadow:0 0 0 5px rgba(217,146,50,.10)
}
.account-invite h2{
  margin:0;
  max-width:700px;
  color:#10231d;
  font-size:clamp(28px,3.3vw,46px);
  line-height:1.03;
  letter-spacing:-.045em;
  overflow-wrap:anywhere
}
.account-invite__copy>p{
  max-width:720px;
  margin:15px 0 0;
  color:#62736c;
  font-size:16px;
  line-height:1.65
}
.account-invite__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px
}
.account-invite__actions a{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 16px;
  border-radius:13px;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease
}
.account-invite__actions a:hover{transform:translateY(-1px)}
.account-invite__primary{background:#0b6b55;color:#fff;box-shadow:0 10px 24px rgba(11,107,85,.17)}
.account-invite__primary:hover{background:#0e7b61;box-shadow:0 13px 28px rgba(11,107,85,.21)}
.account-invite__secondary{background:#fff;color:#0b6b55;border:1px solid #cfe0d8}
.account-invite__secondary:hover{background:#f1f7f4;border-color:#b9d4c7}
.account-invite__visual{
  position:relative;
  min-height:220px;
  display:grid;
  place-items:center;
  isolation:isolate
}
.account-invite__orbit{
  width:190px;
  aspect-ratio:1;
  position:absolute;
  border:1px solid rgba(11,107,85,.13);
  border-radius:50%;
  transform:rotateX(67deg) rotateZ(-18deg);
  box-shadow:0 0 0 22px rgba(11,107,85,.018)
}
.account-invite__orbit:before{
  content:"";
  position:absolute;
  width:12px;
  height:12px;
  border-radius:50%;
  right:20px;
  top:14px;
  background:#d99232;
  box-shadow:0 0 0 6px rgba(217,146,50,.10),0 0 18px rgba(217,146,50,.26)
}
.account-invite__passport{
  width:min(230px,78%);
  aspect-ratio:1.48/1;
  position:relative;
  z-index:2;
  padding:21px;
  border:1px solid #d4e4dc;
  border-radius:19px;
  background:#fff;
  box-shadow:0 22px 48px rgba(16,35,29,.11);
  transform:rotate(-3deg)
}
.account-invite__passport:before{
  content:"IO";
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#0b6b55;
  color:#fff;
  font-size:17px;
  font-weight:900;
  letter-spacing:-.04em;
  box-shadow:0 8px 18px rgba(11,107,85,.16)
}
.account-invite__passport:after{
  content:"";
  position:absolute;
  left:21px;
  right:21px;
  bottom:23px;
  height:36px;
  border-radius:10px;
  background:
    linear-gradient(90deg,#dbe9e2 0 28%,transparent 28% 34%,#dbe9e2 34% 68%,transparent 68% 74%,#eadab8 74% 100%);
  opacity:.8
}
.account-invite__stamp{
  position:absolute;
  right:18px;
  top:18px;
  width:72px;
  height:72px;
  border:1px dashed rgba(217,146,50,.6);
  border-radius:50%;
  transform:rotate(12deg);
  opacity:.8
}
.account-invite__stamp:before,.account-invite__stamp:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  background:#d99232;
  opacity:.45
}
.account-invite__stamp:before{width:32px;height:1px;transform:translate(-50%,-50%) rotate(18deg)}
.account-invite__stamp:after{width:1px;height:32px;transform:translate(-50%,-50%) rotate(18deg)}
@media(max-width:760px){
  .account-invite{
    grid-template-columns:1fr;
    gap:8px;
    margin-top:18px;
    margin-bottom:28px;
    padding:25px 20px 22px;
    border-radius:20px
  }
  .account-invite h2{font-size:clamp(28px,9vw,40px)}
  .account-invite__copy>p{font-size:15px;line-height:1.58}
  .account-invite__actions{display:grid;grid-template-columns:1fr;gap:9px}
  .account-invite__actions a{min-height:48px;font-size:14px}
  .account-invite__visual{min-height:170px;margin-top:4px}
  .account-invite__passport{width:min(220px,72vw)}
  .account-invite__orbit{width:165px}
}
@media(prefers-reduced-motion:reduce){
  .account-invite__actions a{transition:none!important}
}


/* Guest account discovery badge: preserves the existing profile icon without adding header width. */
body[data-viewer-authenticated="0"] .avatar-btn[data-profile-open]{
  position:relative;
  border-color:#c7ddd2!important;
  box-shadow:0 0 0 3px rgba(11,107,85,.045),0 7px 18px rgba(16,35,29,.06)
}
body[data-viewer-authenticated="0"] .avatar-btn[data-profile-open]::after{
  content:"+";
  position:absolute;
  right:-4px;
  top:-5px;
  width:17px;
  height:17px;
  display:grid;
  place-items:center;
  border:2px solid #fff;
  border-radius:50%;
  background:#d99232;
  color:#fff;
  font:900 11px/1 system-ui,sans-serif;
  box-shadow:0 3px 9px rgba(168,100,23,.22)
}

/* Same guest invitation reused at the end of public subpages. */
.account-invite--footer{margin-top:44px;margin-bottom:18px}
@media(max-width:760px){.account-invite--footer{margin-top:30px;margin-bottom:12px}}

/* Keep the shared banner geometry identical inside both v61 shell and legacy gj-wrap containers. */
.account-invite,.account-invite *{box-sizing:border-box}
