/* ============================================================
   Operam Academy ALUMNI — inst.css
   Cleaned consolidated stylesheet
   ============================================================ */

/* ============================================================
   1. Brand tokens
   ============================================================ */

:root{
  --oa-ink:#263845;
  --oa-ink-deep:#1b2a35;
  --oa-ink-soft:#33485a;
  --oa-white:#ffffff;

  --oa-blue:#2f6aff;
  --oa-blue-deep:#1f4fd0;
  --oa-yellow:#f9af2b;
  --oa-yellow-deep:#e0941a;
  --oa-red:#ff261f;

  --oa-grey:#f4f4f4;
  --oa-powder:#c1d2ff;
  --oa-powder-soft:#e7eeff;

  --oa-line:#e3e7ea;
  --oa-line-strong:#d2d8dd;
  --oa-muted:#5b6b78;
  --oa-muted-soft:#8a97a1;
  --oa-paper:#fbfbfa;

  --oa-gutter:40px;

  --sans:'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --serif:'Newsreader', Georgia, 'Times New Roman', serif;
}

@media (max-width:1080px){
  :root{ --oa-gutter:28px; }
}

@media (max-width:768px){
  :root{ --oa-gutter:16px; }
}

@media (max-width:480px){
  :root{ --oa-gutter:14px; }
}

/* ============================================================
   2. Base
   ============================================================ */

.inst,
.inst *,
.inst *::before,
.inst *::after,
.pagehead,
.pagehead *,
.pagehead *::before,
.pagehead *::after,
.profwrap,
.profwrap *,
.profwrap *::before,
.profwrap *::after,
.nethero,
.nethero *,
.nethero *::before,
.nethero *::after{
  box-sizing:border-box;
}

.inst{
  max-width:100%;
  background:#fff;
  color:var(--oa-ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

.inst img{
  display:block;
  max-width:100%;
  height:auto;
}

.inst-area{
  overflow-x:hidden;
  overflow-x:clip;
}

.inst h1,
.inst h2,
.inst h3,
.inst h4,
.pagehead h1{
  margin:0;
  color:var(--oa-ink);
  letter-spacing:-.02em;
  line-height:1.12;
  font-weight:800;
  overflow-wrap:break-word;
}

.inst .wrap,
.pagehead .ph-in,
.profwrap,
.nethero .nh-in,
.inst-area.wp-block-columns,
.inst-row{
  max-width:1280px;
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--oa-gutter);
  padding-right:var(--oa-gutter);
}

.inst .eyebrow{
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--oa-blue);
}

.inst .eyebrow.muted{
  color:var(--oa-muted);
}

.inst .lead{
  color:var(--oa-muted);
  font-size:17px;
  line-height:1.6;
}

.inst .card{
  background:#fff;
  border:1px solid var(--oa-line);
  border-radius:14px;
}

.inst .sec-h{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.inst .sec-h .st{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.inst .sec-h h2{
  font-size:25px;
}

.inst .sec-h .sub{
  font-size:14.5px;
  color:var(--oa-muted);
  font-weight:500;
  letter-spacing:0;
}

.inst .sec-h .more,
.inst a.more{
  font-size:14px;
  font-weight:700;
  color:var(--oa-blue);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}

.inst .sec-h .more:hover,
.inst a.more:hover{
  color:var(--oa-blue-deep);
}

.oa-reset-btn{
  font:inherit;
  color:inherit;
  border:none;
  background:none;
  cursor:pointer;
}

.inst :where(
  a,
  button,
  input,
  select,
  textarea,
  summary,
  [tabindex]
):focus-visible{
  outline:3px solid rgba(47,106,255,.38);
  outline-offset:3px;
}

/* ============================================================
   3. Buttons
   ============================================================ */

.inst .btn{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:var(--sans);
  font-weight:700;
  font-size:15px;
  border-radius:8px;
  padding:13px 22px;
  cursor:pointer;
  border:1.5px solid transparent;
  text-decoration:none;
  white-space:nowrap;
  transition:background .16s,border-color .16s,color .16s,transform .04s;
}

.inst .btn:active{
  transform:translateY(1px);
}

.inst .btn-primary{
  background:var(--oa-blue);
  color:#fff;
}

.inst .btn-primary:hover{
  background:var(--oa-blue-deep);
}

.inst .btn-outline{
  background:#fff;
  color:var(--oa-blue);
  border-color:#c7d6f7;
}

.inst .btn-outline:hover{
  border-color:var(--oa-blue);
  background:#f5f8ff;
}

.inst .btn-ondark{
  background:var(--oa-blue);
  color:#fff;
}

.inst .btn-ondark.ghost{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.28);
  color:#fff;
}

.inst .btn-ondark.ghost:hover{
  background:rgba(255,255,255,.16);
}

.inst .btn-sm{
  padding:10px 16px;
  font-size:14px;
  border-radius:7px;
}

/* ============================================================
   4. Shared photo/card devices
   ============================================================ */

.oa-mark{
  display:none;
}

.oa-photo{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#33485a,#1b2a35);
}

.oa-photo > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Tint overlays DISABLED site-wide (24 Jul 2026): photos render at
   full brightness. The .tint / .tint-strong classes and the
   <div class="tint"> inside .inst-frame remain in page markup but
   paint nothing. To restore the wash, reinstate the previous
   gradient + mix-blend-mode:multiply backgrounds here. */
.oa-photo.tint::after,
.oa-photo.tint-strong::after{
  content:none;
}

.inst-frame{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  background:var(--oa-ink);
}

.inst-frame > img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.inst-frame .tint{
  display:none;
}

.inst-floatchip{
  position:absolute;
  background:#fff;
  border-radius:12px;
  box-shadow:0 14px 34px rgba(20,33,46,.22);
  padding:13px 16px;
  display:flex;
  align-items:center;
  gap:11px;
}

.inst-floatchip .fc-ic{
  width:38px;
  height:38px;
  border-radius:9px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
}

.inst-floatchip .fc-t{
  line-height:1.25;
}

.inst-floatchip .fc-t .s{
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--oa-muted);
}

.inst-floatchip .fc-t .b{
  font-size:15px;
  font-weight:800;
  color:var(--oa-ink);
}

.inst-floatchip.dark{
  background:var(--oa-ink);
}

.inst-floatchip.dark .fc-t .s{
  color:#9fb0bd;
}

.inst-floatchip.dark .fc-t .b{
  color:#fff;
}

/* ============================================================
   5. Kadence site header skin
   ============================================================ */

#masthead{
  position:sticky;
  top:0;
  z-index:9999;
  background:#fff;
  margin-top:0 !important;
}

body.admin-bar #masthead{
  top:32px;
}

@media screen and (max-width:782px){
  body.admin-bar #masthead{
    top:46px;
  }
}

.site-header,
.site-main-header-wrap,
.site-header-row-container-inner{
  margin-top:0 !important;
}

#masthead::after{
  content:'';
  display:block;
  height:7px;
  background:var(--oa-blue);
}

.site-branding img.custom-logo{
  max-height:80px;
  width:auto;
}

.site-header .main-navigation .primary-menu-container > ul > li > a{
  font-family:var(--sans) !important;
  font-size:15px !important;
  font-weight:600 !important;
  color:#46586a !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  transition:color .14s, box-shadow .14s, border-color .14s;
}

.site-header .main-navigation .primary-menu-container > ul > li > a > span{
  display:inline-block;
  border-bottom:2px solid transparent;
  padding-bottom:2px;
  transition:color .14s, border-color .14s;
}

.site-header .main-navigation .primary-menu-container > ul > li > a:hover,
.site-header .main-navigation .primary-menu-container > ul > li > a:focus,
.site-header .main-navigation .primary-menu-container > ul > li.current-menu-item > a,
.site-header .main-navigation .primary-menu-container > ul > li.current_page_item > a,
.site-header .main-navigation .primary-menu-container > ul > li.current-menu-ancestor > a{
  color:var(--oa-blue) !important;
}

.site-header .main-navigation .primary-menu-container > ul > li > a:hover > span,
.site-header .main-navigation .primary-menu-container > ul > li > a:focus > span,
.site-header .main-navigation .primary-menu-container > ul > li.current-menu-item > a > span,
.site-header .main-navigation .primary-menu-container > ul > li.current_page_item > a > span,
.site-header .main-navigation .primary-menu-container > ul > li.current-menu-ancestor > a > span{
  border-bottom-color:var(--oa-blue);
}

.site-header .main-navigation li.oa-nav-star > a::before{
  content:'★';
  color:var(--oa-yellow);
  margin-right:7px;
}

.site-header #secondary-navigation,
.site-header #secondary-navigation .secondary-menu-container,
.site-header #secondary-navigation ul#secondary-menu{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:8px !important;
}

.site-header #secondary-navigation ul#secondary-menu{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.site-header #secondary-navigation li.menu-item{
  margin:0 !important;
  list-style:none !important;
}

.site-header #secondary-navigation li.menu-item > a{
  display:inline-flex !important;
  align-items:center !important;
  background:var(--oa-blue) !important;
  color:#fff !important;
  border-radius:999px !important;
  padding:9px 20px !important;
  font-family:var(--sans) !important;
  font-weight:600 !important;
  font-size:15px !important;
  line-height:1 !important;
  box-shadow:none !important;
  border-bottom:0 !important;
  text-decoration:none !important;
  transition:background .14s !important;
}

.site-header #secondary-navigation li.menu-item > a:hover,
.site-header #secondary-navigation li.menu-item > a:focus{
  background:var(--oa-blue-deep) !important;
  color:#fff !important;
}

.oa-hchip{
  display:inline-flex;
  align-items:center;
  gap:11px;
  padding:6px 6px 6px 14px;
  border:1px solid var(--oa-line-strong);
  border-radius:999px;
  text-decoration:none;
  font-family:var(--sans);
  transition:border-color .14s, background .14s;
}

.oa-hchip:hover{
  border-color:var(--oa-blue);
  background:#f5f8ff;
}

.oa-hchip .who{
  display:block;
  text-align:right;
  line-height:1.15;
}

.oa-hchip .who .n{
  display:block;
  font-size:13.5px;
  font-weight:700;
  color:var(--oa-ink);
  white-space:nowrap;
}

.oa-hchip .who .t{
  display:block;
  font-size:11px;
  font-weight:600;
  color:var(--oa-blue);
  letter-spacing:.02em;
}

.oa-hchip .av{
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:radial-gradient(120% 120% at 30% 20%,#5b8bff,var(--oa-blue) 55%,var(--oa-blue-deep));
  color:#fff;
  font-weight:800;
  font-size:13px;
  letter-spacing:-.5px;
}

#mobile-drawer{
  z-index:99999 !important;
}

#mobile-drawer,
#mobile-drawer .drawer-inner,
#mobile-drawer .drawer-content,
#mobile-drawer .drawer-header{
  background:#fff !important;
  color:var(--oa-ink) !important;
}

#mobile-drawer .mobile-navigation ul li{
  border-bottom:1px solid var(--oa-line-strong);
}

#mobile-drawer .mobile-navigation ul li a{
  font-family:var(--sans) !important;
  font-weight:600 !important;
  color:var(--oa-ink) !important;
}

#mobile-drawer .mobile-navigation ul li a:hover{
  color:var(--oa-blue) !important;
  background:#f5f8ff !important;
}

#mobile-drawer .drawer-toggle,
#mobile-drawer .drawer-toggle .toggle-close-bar{
  color:var(--oa-ink) !important;
}

/* ============================================================
   6. Page headers and layout
   ============================================================ */

.pagehead{
  background:linear-gradient(180deg,var(--oa-grey),#fff);
  border-bottom:1px solid var(--oa-line);
}

.pagehead .ph-in{
  padding-top:38px;
  padding-bottom:30px;
}

.pagehead .ph-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}

.pagehead .eyebrow{
  margin-bottom:9px;
}

.pagehead h1{
  font-size:34px;
  letter-spacing:-.025em;
}

.pagehead .pdesc{
  font-size:16px;
  color:var(--oa-muted);
  margin-top:10px;
  max-width:640px;
  line-height:1.55;
}

.inst-section{
  padding:34px 0;
}

.inst-cols{
  display:grid;
  grid-template-columns:1fr 372px;
  gap:34px;
  align-items:start;
}

.inst-stack{
  display:flex;
  flex-direction:column;
  gap:20px;
}

.inst-area.wp-block-columns{
  gap:34px;
  align-items:flex-start !important;
}

.inst-area .wp-block-column{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.inst-area .wp-block-column .inst{
  background:transparent;
}

.inst-area .inst-blockgap{
  margin-top:14px;
}

.inst-row{
  margin-bottom:18px;
}

.oa-dir-stat{
  text-align:right;
}

.oa-dir-stat div{
  font-size:32px;
  font-weight:800;
  color:var(--oa-ink);
  letter-spacing:-.02em;
}

.oa-dir-stat span{
  font-size:13px;
  color:var(--oa-muted);
  font-weight:600;
}

/* ============================================================
   7. Dashboard components
   ============================================================ */

.inst-welcome{
  position:relative;
  overflow:hidden;
  background:var(--oa-ink);
  border-radius:18px;
  color:#fff;
  padding:40px 44px;
}

.inst-welcome .wm{
  position:absolute;
  right:-40px;
  bottom:-70px;
  height:280px;
  opacity:.06;
}

.inst-welcome .grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:40px;
  align-items:center;
}

.inst-welcome .eyebrow{
  color:#7fa8ff;
}

.inst-welcome h1{
  color:#fff;
  font-size:38px;
  margin:12px 0 14px;
}

.inst-welcome .wmeta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  color:#b9c5cf;
  font-size:14.5px;
  margin-bottom:26px;
}

.inst-welcome .wmeta > span{
  white-space:nowrap;
}

.inst-welcome .wmeta b{
  color:#fff;
  font-weight:700;
}

.inst-welcome .wmeta .dot{
  width:5px;
  height:5px;
  border-radius:50%;
  background:#4b6172;
  align-self:center;
}

.inst-welcome .wctas{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.oa-hero-discussion{
  margin-top:18px;
  padding:14px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.oa-hero-discussion strong{
  display:block;
  color:#fff;
  font-size:15px;
  line-height:1.2;
}

.oa-hero-discussion span{
  display:block;
  color:rgba(255,255,255,.74);
  font-size:13px;
  margin-top:3px;
}

.inst-panel{
  padding:24px;
}

.inst-panel .ph{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:5px;
}

.inst-panel h3{
  font-size:18px;
  line-height:1.25;
}

.inst-panel .psub{
  font-size:13px;
  color:var(--oa-muted);
  line-height:1.45;
  margin:0 0 18px;
}

.benf{
  display:flex;
  gap:13px;
  padding:12px 0;
  border-top:1px solid var(--oa-line);
}

.benf:first-of-type{
  border-top:none;
}

.benf .bk{
  width:30px;
  height:30px;
  border-radius:8px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  background:#e7f7ee;
  color:#1f8a5b;
}

.benf .bt{
  font-size:14px;
  line-height:1.45;
}

.benf .bt b{
  font-weight:700;
}

.benf .bt span{
  color:var(--oa-muted);
}

.dirrow{
  display:flex;
  align-items:center;
  gap:13px;
  padding:13px 0;
  border-top:1px solid var(--oa-line);
}

.dirrow:first-of-type{
  border-top:none;
}

.dirrow .av{
  width:44px;
  height:44px;
  border-radius:50%;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:700;
  font-size:15px;
}

.dirrow .circ-ic{
  width:40px;
  height:40px;
  border-radius:9px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  background:var(--oa-powder-soft);
  color:var(--oa-blue);
}

.dirrow .db{
  flex:1;
  min-width:0;
}

.dirrow .db .n{
  font-size:14.5px;
  font-weight:700;
  color:var(--oa-ink);
  display:flex;
  align-items:center;
  gap:7px;
}

.dirrow .db .n .pf{
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.06em;
  color:var(--oa-blue);
  background:var(--oa-powder-soft);
  padding:2px 6px;
  border-radius:4px;
}

.dirrow .db .r{
  font-size:12.5px;
  color:var(--oa-muted);
}

.dirrow .vp{
  font-size:13px;
  font-weight:700;
  color:var(--oa-blue);
  text-decoration:none;
  white-space:nowrap;
}

.inst a.dirrow{
  text-decoration:none;
  color:inherit;
}

.inst a.dirrow:hover .db .n{
  color:var(--oa-blue);
}

.inst-net{
  position:relative;
  overflow:hidden;
  border-radius:14px;
  background:linear-gradient(140deg,var(--oa-ink),#16222c);
  color:#fff;
  padding:26px;
}

.inst-net .wm{
  position:absolute;
  right:-26px;
  top:-34px;
  height:150px;
  opacity:.08;
}

.inst-net .tier{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:rgba(249,175,43,.16);
  color:var(--oa-yellow);
  font-weight:800;
  font-size:11.5px;
  letter-spacing:.06em;
  padding:6px 12px;
  border-radius:999px;
}

.inst-net h3{
  color:#fff;
  font-size:20px;
  margin:14px 0 8px;
}

.inst-net p{
  font-size:13.5px;
  color:#c4d0db;
  margin:0 0 18px;
}

/* ============================================================
   8. Credentials
   ============================================================ */

.cred{
  display:flex;
  align-items:center;
  gap:16px;
}

.cred .seal{
  position:relative;
  width:88px;
  height:88px;
  flex:0 0 auto;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:radial-gradient(120% 120% at 30% 20%, #5b8bff, #2f6aff 55%, #1f4fd0);
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.18), 0 8px 20px rgba(31,79,208,.35);
}

.cred .seal.prof{
  background:radial-gradient(120% 120% at 30% 20%, #3a5870, #263845 60%, #1b2a35);
}

.cred .seal .ring{
  position:absolute;
  inset:7px;
  border-radius:50%;
  border:1.5px dashed rgba(255,255,255,.4);
}

.cred .seal .iso{
  position:absolute;
  bottom:9px;
  font-size:7px;
  font-weight:800;
  letter-spacing:.04em;
  color:rgba(255,255,255,.9);
}

.cred .ct .v{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#1f8a5b;
}

.cred .ct .nm{
  font-size:16px;
  font-weight:800;
  color:var(--oa-ink);
  margin:3px 0 2px;
  line-height:1.2;
}

.cred .ct .meta{
  font-size:12.5px;
  color:var(--oa-muted);
}

.inst .seal .oamono,
.inst .cred .seal .oamono{
  position:relative;
  z-index:1;
  font-weight:800;
  color:#fff;
  font-size:23px;
  letter-spacing:-1.5px;
  line-height:1;
}

.inst .big-seal .oamono{
  font-size:30px;
}

.credstrip{
  padding:22px 26px;
}

.credstrip .sh{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.credstrip .sh h3{
  font-size:18px;
  line-height:1.25;
}

.credstrip .sh .more{
  font-size:13.5px;
  font-weight:700;
  color:var(--oa-blue);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}

.credstrip .sh .more:hover{
  color:var(--oa-blue-deep);
}

.badgerow{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}

.bcard{
  flex:1;
  min-width:260px;
  display:flex;
  align-items:center;
  gap:16px;
  border:1px solid var(--oa-line);
  border-radius:12px;
  padding:16px 18px;
}

.bcard.earned{
  background:linear-gradient(180deg,#f7faff,#fff);
  border-color:#cdd9ea;
}

.bcard.locked{
  opacity:.62;
}

.bcard .bimg{
  width:74px;
  height:74px;
  flex:0 0 auto;
  border-radius:14px;
  display:grid;
  place-items:center;
  overflow:hidden;
}

.bcard .bimg img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.bcard .bimg.prof{
  background:radial-gradient(120% 120% at 30% 20%,#3a5870,#263845 60%,#1b2a35);
  color:#fff;
  font-family:var(--serif);
  font-weight:600;
  font-size:20px;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.18);
}

.bcard .binfo .st{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.bcard .binfo .st.v{
  color:#1f8a5b;
}

.bcard .binfo .st.l{
  color:var(--oa-muted);
}

.bcard .binfo .nm{
  font-size:15.5px;
  font-weight:800;
  color:var(--oa-ink);
  margin:4px 0 2px;
  line-height:1.2;
}

.bcard .binfo .meta{
  font-size:12.5px;
  color:var(--oa-muted);
}

/* ============================================================
   9. Events
   ============================================================ */

.inst-events{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.evc{
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.evc .cov{
  position:relative;
  height:150px;
}

.evc .cov .inst-frame{
  height:100%;
  border-radius:0;
}

.evc .cov .dchip{
  position:absolute;
  top:14px;
  left:14px;
  background:#fff;
  border-radius:11px;
  padding:9px 13px;
  text-align:center;
  box-shadow:0 8px 20px rgba(20,33,46,.18);
}

.evc .cov .dchip .d{
  font-size:22px;
  font-weight:800;
  line-height:1;
  color:var(--oa-ink);
}

.evc .cov .dchip .mo{
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--oa-muted);
  margin-top:2px;
}

.evc .cov .klabel{
  position:absolute;
  top:16px;
  right:14px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:6px 11px;
  border-radius:7px;
}

.evc .body{
  padding:18px 20px 20px;
  flex:1;
  display:flex;
  flex-direction:column;
}

.evc .body .t{
  font-size:17px;
  font-weight:800;
  line-height:1.3;
}

.evc .body .m{
  font-size:13.5px;
  color:var(--oa-muted);
  margin:7px 0 0;
  display:flex;
  align-items:center;
  gap:7px;
}

.evc .body .foot{
  margin-top:auto;
  padding-top:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.evc .body .foot .lk{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--oa-muted);
}

.evlist{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.evrow{
  display:flex;
  gap:22px;
  padding:20px;
  align-items:center;
}

.evrow .cov{
  width:200px;
  height:130px;
  flex:0 0 auto;
  border-radius:12px;
  overflow:hidden;
  position:relative;
}

.evrow .cov .dchip2{
  position:absolute;
  top:10px;
  left:10px;
  background:#fff;
  border-radius:9px;
  padding:7px 10px;
  text-align:center;
  box-shadow:0 6px 16px rgba(20,33,46,.2);
}

.evrow .cov .dchip2 .d{
  font-size:18px;
  font-weight:800;
  line-height:1;
  color:var(--oa-ink);
}

.evrow .cov .dchip2 .mo{
  font-size:9.5px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--oa-muted);
}

.evrow .eb{
  flex:1;
  min-width:0;
}

.evrow .eb .toprow{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
  white-space:nowrap;
}

.evrow .eb .kk{
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.evrow .eb .kk.alumni{
  color:var(--oa-blue);
}

.evrow .eb .kk.network{
  color:var(--oa-yellow-deep);
}

.evrow .eb h3{
  font-size:19px;
  letter-spacing:-.01em;
}

.evrow .eb .ed{
  font-size:14px;
  color:var(--oa-muted);
  margin-top:7px;
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}

.evrow .eb .ed span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.evrow .ecta{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
}

/* ============================================================
   10. Resources / library
   ============================================================ */

.inst-res{
  display:flex;
  flex-direction:column;
}

.rrow{
  display:flex;
  align-items:center;
  gap:16px;
  padding:16px 20px;
  border-top:1px solid var(--oa-line);
}

.rrow:first-child{
  border-top:none;
}

.rrow .ft{
  width:46px;
  height:46px;
  border-radius:10px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  background:var(--oa-grey);
  color:var(--oa-ink);
  font-weight:800;
  font-size:11px;
}

.rrow .ft.guide{
  background:var(--oa-powder-soft);
  color:var(--oa-blue);
}

.rrow .rb{
  flex:1;
  min-width:0;
}

.rrow .rb .t{
  font-size:15.5px;
  font-weight:700;
  color:var(--oa-ink);
}

.rrow .rb .m{
  font-size:12.5px;
  color:var(--oa-muted);
}

.rrow .newpill{
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  color:#fff;
  background:var(--oa-blue);
  padding:3px 8px;
  border-radius:999px;
}

.rrow .dl{
  width:40px;
  height:40px;
  border-radius:9px;
  border:1px solid var(--oa-line-strong);
  display:grid;
  place-items:center;
  color:var(--oa-blue);
  background:#fff;
  cursor:pointer;
  transition:background .14s,border-color .14s;
}

.rrow .dl:hover{
  background:#f5f8ff;
  border-color:var(--oa-blue);
}

.libfeat{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:0;
  border-radius:16px;
  overflow:hidden;
  border:1px solid var(--oa-line);
  margin-bottom:30px;
}

.libfeat .lf-txt{
  padding:36px 38px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.libfeat .lf-txt .eyebrow{
  margin-bottom:12px;
}

.libfeat .lf-txt h2{
  font-size:27px;
  letter-spacing:-.02em;
}

.libfeat .lf-txt p{
  font-size:15.5px;
  color:var(--oa-muted);
  margin:12px 0 22px;
  line-height:1.6;
}

.libfeat .lf-img{
  position:relative;
  min-height:280px;
}

.resgrid3,
.restiles{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.rtile{
  padding:22px;
  display:flex;
  flex-direction:column;
}

.rtile .rt-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:16px;
}

.rtile .rt-ic{
  width:48px;
  height:48px;
  border-radius:11px;
  display:grid;
  place-items:center;
  background:var(--oa-powder-soft);
  color:var(--oa-blue);
}

.rtile .rt-type{
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--oa-muted);
}

.rtile .rt-t{
  font-size:16px;
  font-weight:800;
  line-height:1.3;
  color:var(--oa-ink);
}

.rtile .rt-m{
  font-size:13px;
  color:var(--oa-muted);
  margin-top:6px;
  flex:1;
}

.rtile .rt-dl{
  margin-top:16px;
}

.accesschip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  padding:3px 8px;
  border-radius:5px;
}

.accesschip.alumni{
  background:var(--oa-powder-soft);
  color:var(--oa-blue);
}

.accesschip.network{
  background:var(--oa-ink);
  color:var(--oa-yellow);
}

/* ============================================================
   11. State pills / filter chips / toolbar
   ============================================================ */

.toolbar{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:26px;
}

.searchfield{
  flex:1;
  min-width:240px;
  display:flex;
  align-items:center;
  gap:11px;
  background:#fff;
  border:1px solid var(--oa-line-strong);
  border-radius:10px;
  padding:13px 16px;
  color:var(--oa-muted);
}

.searchfield input{
  border:none;
  outline:none;
  font:inherit;
  font-size:15px;
  color:var(--oa-ink);
  background:transparent;
  width:100%;
}

.selectpill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#fff;
  border:1px solid var(--oa-line-strong);
  border-radius:10px;
  padding:13px 15px;
  font-size:14px;
  font-weight:600;
  color:var(--oa-ink);
  cursor:pointer;
  white-space:nowrap;
}

.selectpill .ct{
  color:var(--oa-muted-soft);
}

.chiprow{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
}

.fchip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:13.5px;
  font-weight:600;
  color:#46586a;
  background:#fff;
  border:1px solid var(--oa-line-strong);
  border-radius:999px;
  padding:9px 15px;
  cursor:pointer;
  transition:all .14s;
}

.fchip:hover{
  border-color:var(--oa-blue);
  color:var(--oa-ink);
}

.fchip.on{
  background:var(--oa-ink);
  border-color:var(--oa-ink);
  color:#fff;
}

.fchip .ct{
  font-weight:700;
  opacity:.6;
}

.fchip.on .ct{
  opacity:.8;
}

.spill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.03em;
  padding:5px 11px;
  border-radius:999px;
}

.spill.reg{
  background:#e7f7ee;
  color:#1f8a5b;
}

.spill.open{
  background:var(--oa-powder-soft);
  color:var(--oa-blue);
}

.spill.members{
  background:#fff3dc;
  color:#b5790f;
}

.spill.past{
  background:var(--oa-grey);
  color:var(--oa-muted);
}

.spill.wait{
  background:#ffe9e8;
  color:#c0322c;
}

.tierbadge{
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  padding:3px 8px;
  border-radius:5px;
}

.tierbadge.network{
  background:var(--oa-ink);
  color:var(--oa-yellow);
}

.tierbadge.alumni{
  background:var(--oa-powder-soft);
  color:var(--oa-blue);
}

.credtag{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:11.5px;
  font-weight:700;
  color:#1f8a5b;
}

/* ============================================================
   12. Custom prototype directory/profile components
   These only affect custom pages using these classes.
   (Flagged: delete this section once the prototype directory
   and profile pages are confirmed retired.)
   ============================================================ */

.dirgrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.mcardd{
  padding:24px;
  display:flex;
  flex-direction:column;
  cursor:pointer;
  transition:box-shadow .16s,transform .16s,border-color .16s;
}

.mcardd:hover{
  box-shadow:0 12px 34px rgba(20,33,46,.10);
  transform:translateY(-2px);
  border-color:#cdd9ea;
}

.mcardd .top{
  display:flex;
  align-items:flex-start;
  gap:14px;
}

.mcardd .av{
  width:56px;
  height:56px;
  border-radius:50%;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:700;
  font-size:18px;
}

.mcardd .nm{
  font-size:17px;
  font-weight:800;
  color:var(--oa-ink);
  letter-spacing:-.01em;
  display:flex;
  align-items:center;
  gap:8px;
}

.mcardd .ro{
  font-size:13.5px;
  color:var(--oa-muted);
  margin-top:2px;
}

.mcardd .org{
  font-size:13.5px;
  font-weight:600;
  color:var(--oa-ink);
}

.mcardd .meta{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12.5px;
  color:var(--oa-muted);
  margin-top:14px;
}

.mcardd .tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:14px;
}

.mcardd .tag{
  font-size:11.5px;
  font-weight:600;
  color:#46586a;
  background:var(--oa-grey);
  border-radius:6px;
  padding:4px 9px;
  white-space:nowrap;
}

.mcardd .foot{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--oa-line);
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.profcover{
  position:relative;
  height:230px;
  border-radius:0;
  overflow:hidden;
  background:var(--oa-ink);
}

.profcover > img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.profcover .ov{
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,rgba(38,56,69,.72),rgba(31,79,208,.42));
  mix-blend-mode:multiply;
}

.profcover .wm{
  position:absolute;
  right:30px;
  top:-30px;
  height:200px;
  opacity:.1;
}

.profwrap{
  max-width:1280px;
}

.profhead{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding:16px 0 6px 152px;
  min-height:74px;
}

.profhead .pav{
  position:absolute;
  left:0;
  top:-66px;
  width:128px;
  height:128px;
  border-radius:22px;
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:800;
  font-size:42px;
  border:5px solid #fff;
  box-shadow:0 10px 30px rgba(20,33,46,.18);
}

.profhead .pmeta{
  flex:1;
  padding-bottom:8px;
}

.profhead .pmeta h1{
  font-size:30px;
  letter-spacing:-.02em;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.profhead .pmeta .role{
  font-size:16px;
  color:var(--oa-muted);
  margin-top:5px;
}

.profhead .pmeta .role b{
  color:var(--oa-ink);
  font-weight:700;
}

.profhead .pmeta .quickmeta{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-top:10px;
  font-size:13.5px;
  color:var(--oa-muted);
}

.profhead .pmeta .quickmeta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.profhead .pact{
  display:flex;
  gap:10px;
  padding-bottom:10px;
}

.proftabs{
  display:flex;
  gap:28px;
  border-bottom:1px solid var(--oa-line);
  margin-top:24px;
}

.proftabs a{
  padding:14px 2px;
  font-size:14.5px;
  font-weight:700;
  color:var(--oa-muted);
  cursor:pointer;
  border-bottom:2.5px solid transparent;
  margin-bottom:-1px;
}

.proftabs a.on{
  color:var(--oa-ink);
  border-color:var(--oa-blue);
}

.profcols{
  display:grid;
  grid-template-columns:1fr 340px;
  gap:34px;
  align-items:start;
  padding:30px 0 50px;
}

.profblock{
  margin-bottom:30px;
}

.profblock h3{
  font-size:18px;
  margin-bottom:12px;
}

.profblock p{
  font-size:15.5px;
  color:#3a4a57;
  line-height:1.7;
}

.chips{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}

.chips .c{
  font-size:13.5px;
  font-weight:600;
  color:var(--oa-ink);
  background:var(--oa-powder-soft);
  border-radius:8px;
  padding:8px 13px;
}

.chips.soft .c{
  background:var(--oa-grey);
  color:#46586a;
}

/* ============================================================
   13. MemberPress Directory / ClubSuite directory
   Out-of-the-box layout with Operam blue controls only.
   ============================================================ */

body.single-mpdir-directory .wp-block-memberpress-directory-directory-profile-button,
body.single-mpdir-directory .wp-block-button__link,
body.single-mpdir-directory .user-template-item a.wp-element-button{
  background:var(--oa-blue,#2f6aff) !important;
  border-color:var(--oa-blue,#2f6aff) !important;
  color:#fff !important;
}

body.single-mpdir-directory .wp-block-memberpress-directory-directory-profile-button:hover,
body.single-mpdir-directory .wp-block-button__link:hover,
body.single-mpdir-directory .user-template-item a.wp-element-button:hover{
  background:var(--oa-blue-deep,#1f4fd0) !important;
  border-color:var(--oa-blue-deep,#1f4fd0) !important;
  color:#fff !important;
}

body.single-mpdir-directory .mpdir-layout-buttons .mpdir-layout-btn.active,
body.single-mpdir-directory .mpdir-layout-buttons button.active,
body.single-mpdir-directory .mpdir-layout-buttons button[aria-pressed="true"]{
  background:var(--oa-blue,#2f6aff) !important;
  border-color:var(--oa-blue,#2f6aff) !important;
  color:#fff !important;
}

body.single-mpdir-directory .mpdir-view-tabs .mpdir-tab.active,
body.single-mpdir-directory .mpdir-directory-filters .mpdir-view-tabs .mpdir-tab.active{
  background:var(--oa-blue,#2f6aff) !important;
  color:#fff !important;
}

body.single-mpdir-directory .mpdir-directory-pagination .mpdir-page-numbers.mpdir-pagination-current,
body.single-mpdir-directory .mpdir-pagination .mpdir-page-numbers.mpdir-pagination-current,
body.single-mpdir-directory .mpdir-pagination-current{
  background:var(--oa-blue,#2f6aff) !important;
  border-color:var(--oa-blue,#2f6aff) !important;
  color:#fff !important;
}

/* ============================================================
   14. MemberPress Directory profile page
   ============================================================ */

.mpdir-profile-page .entry-content-wrap{
  padding:0 !important;
}

.mpdir-profile-page .entry.single-entry{
  box-shadow:none !important;
}

.mpdir-profile-page .content-bg,
.mpdir-profile-page .entry.content-bg{
  background:transparent !important;
}

.mpdir-profile-page .entry-header.mpdir-profile-title{
  display:none !important;
}

.mpdir-profile-page .wp-block-memberpress-directory-profile-header,
.mpdir-profile-page .wp-block-memberpress-directory-profile-section,
.mpdir-profile-page .wp-block-memberpress-directory-profile-section-content{
  font-family:var(--sans);
  color:var(--oa-ink);
}

.mpdir-profile-page .entry-content > .wp-block-group > .wp-block-group__inner-container{
  max-width:1080px;
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--oa-gutter);
  padding-right:var(--oa-gutter);
}

.mpdir-profile-page .profile-cover.mepr-readylaunch-hero{
  position:relative;
  border-radius:16px;
  overflow:hidden;
}

.mpdir-profile-page .profile-cover.mepr-readylaunch-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(120% 140% at 85% -10%, rgba(249,175,43,.45), transparent 55%),
    linear-gradient(120deg, rgba(38,56,69,.85), rgba(52,80,106,.6) 55%, rgba(63,111,176,.4));
  pointer-events:none;
}

.mpdir-profile-page .profile-cover.mepr-readylaunch-hero .cover-change-wrapper,
.mpdir-profile-page .profile-cover.mepr-readylaunch-hero .cover-pending-approval{
  z-index:2;
}

.mpdir-profile-page .wp-block-memberpress-directory-profile-photo .profile-avatar,
.mpdir-profile-page .wp-block-memberpress-directory-profile-photo .profile-avatar-placeholder{
  border:5px solid #fff;
  box-shadow:0 8px 24px rgba(38,56,69,.18);
}

.mpdir-profile-page .wp-block-memberpress-directory-profile-name h3.mpdir-profile-name-title{
  font-family:var(--serif) !important;
  color:var(--oa-ink) !important;
  font-size:28px !important;
  font-weight:600 !important;
  letter-spacing:-.015em;
  line-height:1.15;
}

.mpdir-profile-page .wp-block-memberpress-directory-profile-name .mpdir-profile-name-title__name span{
  font-family:var(--serif) !important;
}

.mpdir-profile-page .wp-block-memberpress-directory-profile-name h3 .dashicons-edit{
  color:var(--oa-blue) !important;
}

.mpdir-profile-page .wp-block-memberpress-directory-profile-name .mpdir-profile-name-location{
  font-family:var(--sans) !important;
  color:var(--oa-muted) !important;
  font-size:15px !important;
}

.mpdir-profile-page .mpdir-social-link-website{
  background-color:var(--oa-powder-soft) !important;
}

.mpdir-profile-page .mpdir-social-link-website svg{
  color:var(--oa-ink) !important;
}

.mpdir-profile-page .wp-block-memberpress-directory-profile-section{
  background:#fff !important;
  border:1px solid var(--oa-line);
  border-radius:16px;
  box-shadow:0 1px 2px rgba(38,56,69,.04);
  margin-bottom:22px;
}

.mpdir-profile-page .wp-block-memberpress-directory-profile-section-content h3.wp-block-heading{
  font-family:var(--serif) !important;
  color:var(--oa-ink) !important;
  font-size:20px !important;
  font-weight:600 !important;
  letter-spacing:-.01em;
}

.mpdir-profile-page .wp-block-memberpress-directory-profile-section-content > .wp-block-group[style*="border-bottom"]{
  border-bottom-color:var(--oa-powder-soft) !important;
}

.mpdir-profile-page .wp-block-memberpress-directory-profile-icons .dashicons{
  color:var(--oa-blue) !important;
  font-size:22px !important;
  width:22px !important;
  height:22px !important;
}

.mpdir-profile-page .wp-block-memberpress-directory-profile-fields{
  border-bottom-color:var(--oa-powder-soft) !important;
}

.mpdir-profile-page .wp-block-memberpress-directory-profile-fields .profile-field-label{
  font-family:var(--sans) !important;
  color:var(--oa-muted) !important;
  font-weight:600;
}

.mpdir-profile-page .wp-block-memberpress-directory-profile-fields .profile-field-value{
  font-family:var(--sans) !important;
  color:var(--oa-ink) !important;
}

.mpdir-profile-page .wp-block-memberpress-directory-profile-fields .profile-field-value a{
  color:var(--oa-blue) !important;
}

/* ============================================================
   15. NETWORK page
   ============================================================ */

.nethero{
  position:relative;
  overflow:hidden;
  background:radial-gradient(120% 130% at 85% 0%, #25425e, var(--oa-ink) 55%, #16222c);
  color:#fff;
}

.nethero .wm{
  position:absolute;
  right:-30px;
  bottom:-90px;
  height:360px;
  opacity:.07;
}

.nethero .nh-in{
  padding-top:64px;
  padding-bottom:60px;
  position:relative;
  z-index:1;
}

.nethero .tier{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(249,175,43,.16);
  color:var(--oa-yellow);
  font-weight:800;
  font-size:12.5px;
  letter-spacing:.08em;
  padding:8px 15px;
  border-radius:999px;
}

.nethero h1{
  color:#fff;
  font-size:52px;
  line-height:1.06;
  letter-spacing:-.03em;
  margin:20px 0 18px;
  max-width:760px;
}

.nethero p{
  font-size:19px;
  color:#cdd9e2;
  max-width:620px;
  line-height:1.55;
  margin:0 0 30px;
}

.nethero .nh-ctas{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
}

.nethero .price{
  color:#9fb0bd;
  font-size:15px;
}

.nethero .price b{
  color:#fff;
  font-size:22px;
  font-weight:800;
}

.netsec{
  padding:56px 0;
}

.compare{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.tiercard{
  border:1px solid var(--oa-line);
  border-radius:18px;
  padding:32px 30px;
  background:#fff;
}

.tiercard.prem{
  border-color:#d8b25a;
  box-shadow:0 18px 50px rgba(38,56,69,.10);
  position:relative;
}

.tiercard.prem::before{
  content:'RECOMMENDED';
  position:absolute;
  top:-11px;
  left:30px;
  background:var(--oa-yellow);
  color:var(--oa-ink);
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.08em;
  padding:5px 11px;
  border-radius:6px;
}

.tiercard .tname{
  font-size:13px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--oa-blue);
}

.tiercard.prem .tname{
  color:var(--oa-yellow-deep);
}

.tiercard .tprice{
  font-size:34px;
  font-weight:800;
  letter-spacing:-.02em;
  margin:10px 0 4px;
}

.tiercard .tprice small{
  font-size:15px;
  font-weight:600;
  color:var(--oa-muted);
}

.tiercard .tnote{
  font-size:14px;
  color:var(--oa-muted);
  margin-bottom:22px;
}

.tiercard .feat-li{
  display:flex;
  gap:12px;
  padding:11px 0;
  border-top:1px solid var(--oa-line);
  font-size:14.5px;
  color:#3a4a57;
}

.tiercard .feat-li:first-of-type{
  border-top:none;
}

.tiercard .feat-li .k{
  width:24px;
  height:24px;
  border-radius:7px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
}

.tiercard .feat-li .k.yes{
  background:#e7f7ee;
  color:#1f8a5b;
}

.tiercard .feat-li .k.no{
  background:var(--oa-grey);
  color:var(--oa-muted-soft);
}

.netfeat{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.nfcard{
  padding:28px;
}

.nfcard .nf-ic{
  width:54px;
  height:54px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:var(--oa-ink);
  color:var(--oa-yellow);
  margin-bottom:18px;
}

.nfcard h3{
  font-size:19px;
  margin-bottom:8px;
}

.nfcard p{
  font-size:14.5px;
  color:var(--oa-muted);
  line-height:1.6;
}

.sessrow{
  display:flex;
  align-items:center;
  gap:20px;
  padding:20px 0;
  border-top:1px solid var(--oa-line);
}

.sessrow:first-of-type{
  border-top:none;
}

.sessrow .si{
  width:50px;
  height:50px;
  border-radius:12px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  background:var(--oa-powder-soft);
  color:var(--oa-blue);
}

.sessrow .st{
  flex:1;
}

.sessrow .st .t{
  font-size:16.5px;
  font-weight:800;
  color:var(--oa-ink);
}

.sessrow .st .m{
  font-size:14px;
  color:var(--oa-muted);
  margin-top:3px;
}

.sessrow .freq{
  font-size:12.5px;
  font-weight:700;
  color:var(--oa-blue);
  white-space:nowrap;
}

.netcta{
  background:var(--oa-ink);
  border-radius:20px;
  padding:48px;
  text-align:center;
  color:#fff;
  position:relative;
  overflow:hidden;
}

.netcta .wm{
  position:absolute;
  left:-40px;
  bottom:-70px;
  height:240px;
  opacity:.06;
}

.netcta h2{
  color:#fff;
  font-size:32px;
  letter-spacing:-.02em;
}

.netcta p{
  font-size:16px;
  color:#cdd9e2;
  max-width:520px;
  margin:12px auto 26px;
}

/* ============================================================
   16. MemberPress login page
   Page ID 10
   UPDATED 22 Jul 2026: full-viewport safe centring.
   - .entry-content is a 100svh flex column, justify-content:center
     (was flex-start): logo + card centre as one group on any
     desktop size. min-height (not height) means content taller
     than the screen simply scrolls (landscape phones).
   - Paddings/gap trimmed (top pad was up to 90px = the big void).
   - Compact mode at max-height:820px so phones fit with no scroll.
   ============================================================ */

html body.page-id-10,
html body.page-id-10 .site,
html body.page-id-10 #wrapper{
  min-height:100vh !important;
  min-height:100svh !important;
  background:#fff !important;
}

body.page-id-10 #masthead,
body.page-id-10 .site-header,
body.page-id-10 .entry-header,
body.page-id-10 .site-footer,
body.page-id-10 footer{
  display:none !important;
}

body.page-id-10 #inner-wrap,
body.page-id-10 #primary,
body.page-id-10 .content-area,
body.page-id-10 .content-container,
body.page-id-10 .site-container,
body.page-id-10 .site-main,
body.page-id-10 .content-wrap,
body.page-id-10 article.entry,
body.page-id-10 .entry-content-wrap,
body.page-id-10 .entry-content{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.page-id-10 .entry-content{
  position:relative !important;
  min-height:100vh !important;
  min-height:100svh !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(8px,1.5vh,14px) !important;
  padding:clamp(18px,3.5vh,44px) var(--oa-gutter) clamp(16px,3vh,36px) !important;
  overflow:hidden !important;
  background:#fff !important;
}

/* Login logo: catch-all — the editor may nest the image inside a
   figure, paragraph, or block wrapper, so match ANY img in the page
   content (the logo is the only image on this page). Sized small,
   LinkedIn-style. */
body.page-id-10 .entry-content img{
  display:block !important;
  width:auto !important;
  max-width:min(230px,60vw) !important;
  max-height:116px !important;
  height:auto !important;
  margin:0 auto !important;
  object-fit:contain !important;
}

/* Zero out whatever wrapper the logo sits in (figure margins,
   paragraph line-height) so it adds no phantom gap. */
body.page-id-10 .entry-content > figure,
body.page-id-10 .entry-content > p,
body.page-id-10 .entry-content > div:not(.mp_wrapper),
body.page-id-10 .entry-content > .oa-login-logo,
body.page-id-10 .entry-content > .custom-logo-link{
  margin:0 auto !important;
  padding:0 !important;
  line-height:0 !important;
}

/* Safety: never resize an image that might appear INSIDE the form. */
body.page-id-10 .mp_wrapper img{
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
}

body.page-id-10 .mp_wrapper,
body.page-id-10 .mp_wrapper *{
  box-sizing:border-box !important;
}

body.page-id-10 .mp_wrapper{
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  max-width:480px !important;
  margin:0 auto !important;
  font-family:var(--sans) !important;
  color:var(--oa-ink) !important;
}

body.page-id-10 .mp_wrapper.mp_login_form,
body.page-id-10 .mp_wrapper:has(#mepr_loginform),
body.page-id-10 .mp_wrapper:has(#mepr_forgot_password_form){
  z-index:1 !important;
  padding:26px 30px 22px !important;
  border:1px solid var(--oa-line) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 18px 48px rgba(38,56,69,.12) !important;
}

body.page-id-10 .mp_wrapper:has(.mepr_error):not(.mp_login_form):not(:has(form)){
  z-index:2 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.page-id-10 .mp_wrapper.mp_login_form::before,
body.page-id-10 .mp_wrapper:has(#mepr_loginform)::before,
body.page-id-10 .mp_wrapper:has(#mepr_forgot_password_form)::before{
  content:"ALUMNI PORTAL" !important;
  display:block !important;
  margin:0 0 8px !important;
  font-family:var(--sans) !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  color:var(--oa-blue) !important;
}

body.page-id-10 .mp_wrapper.mp_login_form form::before,
body.page-id-10 .mp_wrapper:has(#mepr_loginform) form::before{
  content:"Member sign in" !important;
  display:block !important;
  margin:0 0 14px !important;
  font-family:var(--serif) !important;
  font-size:24px !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  letter-spacing:-.02em !important;
  color:var(--oa-ink) !important;
}

body.page-id-10 .mp_wrapper:has(#mepr_forgot_password_form) h3{
  display:block !important;
  margin:0 0 18px !important;
  font-family:var(--serif) !important;
  font-size:24px !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  letter-spacing:-.02em !important;
  color:var(--oa-ink) !important;
}

body.page-id-10 .mp_wrapper.mp_login_form h1,
body.page-id-10 .mp_wrapper.mp_login_form h2,
body.page-id-10 .mp_wrapper.mp_login_form h3,
body.page-id-10 .mp-spacer{
  display:none !important;
}

body.page-id-10 .mp_wrapper form,
body.page-id-10 .mp_wrapper .submit{
  margin:0 !important;
}

body.page-id-10 .mp_wrapper .mepr_error{
  width:100% !important;
  margin:0 0 16px !important;
  padding:12px 14px !important;
  border:1px solid #ff4d5a !important;
  border-radius:12px !important;
  background:#fff0ee !important;
  color:#b42318 !important;
  font-family:var(--sans) !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.35 !important;
}

body.page-id-10 .mp_wrapper:has(.mepr_error):not(.mp_login_form):not(:has(form)) .mepr_error{
  margin:0 !important;
}

body.page-id-10 .mp_wrapper .mepr_error ul{
  margin:0 !important;
  padding-left:18px !important;
}

body.page-id-10 .mp_wrapper .mp-form-row{
  margin:0 0 13px !important;
}

body.page-id-10 .mp_wrapper label{
  display:inline-block !important;
  font-family:var(--sans) !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.3 !important;
  color:var(--oa-ink) !important;
}

body.page-id-10 .mp_wrapper .mp-form-label label,
body.page-id-10 .mp_wrapper .mepr_forgot_password_input label{
  display:block !important;
  margin:0 0 7px !important;
}

body.page-id-10 .mp_wrapper input[type="text"],
body.page-id-10 .mp_wrapper input[type="email"],
body.page-id-10 .mp_wrapper input[type="password"]{
  width:100% !important;
  min-height:46px !important;
  padding:12px 14px !important;
  border:1px solid #d6e0e8 !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:none !important;
  font-family:var(--sans) !important;
  font-size:15px !important;
  color:var(--oa-ink) !important;
}

body.page-id-10 .mp_wrapper input[type="text"]:focus,
body.page-id-10 .mp_wrapper input[type="email"]:focus,
body.page-id-10 .mp_wrapper input[type="password"]:focus{
  border-color:var(--oa-blue) !important;
  box-shadow:0 0 0 4px rgba(47,106,255,.16) !important;
  outline:none !important;
}

body.page-id-10 .mp_wrapper .mp-hide-pw{
  position:relative !important;
}

body.page-id-10 .mp_wrapper .mp-hide-pw input[type="password"]{
  padding-right:48px !important;
}

body.page-id-10 .mp_wrapper .mp-hide-pw button,
body.page-id-10 .mp_wrapper button.mp-hide-pw{
  position:absolute !important;
  top:50% !important;
  right:10px !important;
  transform:translateY(-50%) !important;
  width:36px !important;
  height:36px !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--oa-muted) !important;
}

body.page-id-10 .mp_wrapper .mp-hide-pw .dashicons{
  color:var(--oa-muted) !important;
}

body.page-id-10 .mp_wrapper input[type="checkbox"]{
  accent-color:var(--oa-blue) !important;
}

body.page-id-10 .mp_wrapper input#rememberme{
  margin-right:6px !important;
}

body.page-id-10 .mp_wrapper label:has(input#rememberme){
  margin:2px 0 14px !important;
  font-size:14px !important;
  font-weight:650 !important;
  color:#526577 !important;
}

body.page-id-10 .mp_wrapper input[type="submit"],
body.page-id-10 .mp_wrapper button[type="submit"],
body.page-id-10 .mp_wrapper .mepr-submit{
  width:100% !important;
  min-height:48px !important;
  padding:12px 18px !important;
  border:1px solid var(--oa-blue) !important;
  border-radius:9px !important;
  background:var(--oa-blue) !important;
  box-shadow:none !important;
  color:#fff !important;
  cursor:pointer !important;
  font-family:var(--sans) !important;
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  transition:background .14s, transform .14s !important;
}

body.page-id-10 .mp_wrapper input[type="submit"]:hover,
body.page-id-10 .mp_wrapper button[type="submit"]:hover,
body.page-id-10 .mp_wrapper .mepr-submit:hover{
  background:var(--oa-blue-deep) !important;
  transform:translateY(-1px) !important;
}

body.page-id-10 .mp_wrapper a{
  color:var(--oa-blue) !important;
  font-family:var(--sans) !important;
  font-size:14px !important;
  font-weight:750 !important;
  text-decoration:none !important;
}

body.page-id-10 .mp_wrapper a:hover{
  color:var(--oa-blue-deep) !important;
  text-decoration:underline !important;
}

body.page-id-10 .mepr-login-actions{
  margin:14px 0 0 !important;
  font-size:14px !important;
}

/* Short screens (phones portrait, small laptop windows):
   compact everything so logo + card fit with no scrolling. */
@media (max-height:820px){
  body.page-id-10 .entry-content{
    gap:8px !important;
    padding:14px var(--oa-gutter) 14px !important;
  }

  body.page-id-10 .entry-content img{
    max-width:min(200px,52vw) !important;
    max-height:92px !important;
  }

  body.page-id-10 .mp_wrapper.mp_login_form,
  body.page-id-10 .mp_wrapper:has(#mepr_loginform),
  body.page-id-10 .mp_wrapper:has(#mepr_forgot_password_form){
    padding:22px 26px 18px !important;
  }

  body.page-id-10 .mp_wrapper.mp_login_form::before,
  body.page-id-10 .mp_wrapper:has(#mepr_loginform)::before,
  body.page-id-10 .mp_wrapper:has(#mepr_forgot_password_form)::before{
    margin:0 0 8px !important;
  }

  body.page-id-10 .mp_wrapper.mp_login_form form::before,
  body.page-id-10 .mp_wrapper:has(#mepr_loginform) form::before,
  body.page-id-10 .mp_wrapper:has(#mepr_forgot_password_form) h3{
    font-size:22px !important;
    margin-bottom:10px !important;
  }

  body.page-id-10 .mp_wrapper .mp-form-row{
    margin:0 0 12px !important;
  }

  body.page-id-10 .mp_wrapper input[type="text"],
  body.page-id-10 .mp_wrapper input[type="email"],
  body.page-id-10 .mp_wrapper input[type="password"]{
    min-height:44px !important;
    padding:10px 13px !important;
  }

  body.page-id-10 .mp_wrapper label:has(input#rememberme){
    margin:2px 0 14px !important;
  }

  body.page-id-10 .mp_wrapper input[type="submit"],
  body.page-id-10 .mp_wrapper button[type="submit"],
  body.page-id-10 .mp_wrapper .mepr-submit{
    min-height:46px !important;
  }

  body.page-id-10 .mepr-login-actions{
    margin:14px 0 0 !important;
  }
}

/* Login page frame cleanup — removes theme/plugin frames around the card. */
body.page-id-10 .entry-content::before,
body.page-id-10 .entry-content::after,
body.page-id-10 #wrapper::before,
body.page-id-10 #wrapper::after,
body.page-id-10 #inner-wrap::before,
body.page-id-10 #inner-wrap::after,
body.page-id-10 #primary::before,
body.page-id-10 #primary::after,
body.page-id-10 .content-area::before,
body.page-id-10 .content-area::after,
body.page-id-10 .content-container::before,
body.page-id-10 .content-container::after,
body.page-id-10 .site-container::before,
body.page-id-10 .site-container::after,
body.page-id-10 .site-main::before,
body.page-id-10 .site-main::after,
body.page-id-10 article.entry::before,
body.page-id-10 article.entry::after,
body.page-id-10 .entry-content-wrap::before,
body.page-id-10 .entry-content-wrap::after,
html body.page-id-10 .entry-content.single-content::before,
html body.page-id-10 .entry-content.single-content::after{
  content:none !important;
  display:none !important;
  border:0 !important;
  box-shadow:none !important;
  background:none !important;
}

body.page-id-10 #wrapper,
body.page-id-10 #inner-wrap,
body.page-id-10 #primary,
body.page-id-10 .content-area,
body.page-id-10 .content-container,
body.page-id-10 .site-container,
body.page-id-10 .site-main,
body.page-id-10 article.entry,
body.page-id-10 .entry-content-wrap,
body.page-id-10 .entry-content{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

/* ============================================================
   17. MemberPress Circles
   ============================================================ */

body.mpcirc-circle-page .mpcirc-main-hero-heading{
  display:none !important;
}

body.mpcirc-circle-page .mpcirc-main-hero{
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
}

body.mpcirc-circle-page .mpcirc-page-navigation{
  background:var(--oa-grey) !important;
  border-radius:14px !important;
}

body.mpcirc-circle-page .mpcirc-page-navigation a{
  border-radius:10px !important;
  color:var(--oa-ink) !important;
}

body.mpcirc-circle-page .mpcirc-page-navigation a *,
body.mpcirc-circle-page .mpcirc-page-navigation a:not(.active) *{
  color:var(--oa-ink) !important;
}

body.mpcirc-circle-page .mpcirc-page-navigation a:hover,
body.mpcirc-circle-page .mpcirc-page-navigation a:focus,
body.mpcirc-circle-page .mpcirc-page-navigation a.active{
  background:var(--oa-blue) !important;
  border-color:var(--oa-blue) !important;
  color:#fff !important;
}

body.mpcirc-circle-page .mpcirc-page-navigation a:hover *,
body.mpcirc-circle-page .mpcirc-page-navigation a:focus *,
body.mpcirc-circle-page .mpcirc-page-navigation a.active *{
  color:#fff !important;
}

body.mpcirc-circle-page input,
body.mpcirc-circle-page textarea,
body.mpcirc-circle-page select{
  border-color:var(--oa-line-strong) !important;
  border-radius:12px !important;
}

body.mpcirc-circle-page input:focus,
body.mpcirc-circle-page textarea:focus,
body.mpcirc-circle-page select:focus{
  border-color:var(--oa-blue) !important;
  box-shadow:0 0 0 4px rgba(47,106,255,.14) !important;
  outline:none !important;
}

body.mpcirc-circle-page .mpcirc-card,
body.mpcirc-circle-page .mpcirc-post,
body.mpcirc-circle-page .mpcirc-latest-posts article{
  border-color:var(--oa-line) !important;
  border-radius:18px !important;
}

body.mpcirc-circle-page .mpcirc-post-form-submit-btn,
body.mpcirc-circle-page .mpcirc-join-circle-btn,
body.mpcirc-circle-page button[type="button"].mpcirc-form-submit,
body.mpcirc-circle-page form.mpcirc-settings-form button.mpcirc-form-submit,
body.mpcirc-circle-page .mpcirc-add-members-btn{
  background:var(--oa-blue) !important;
  border-color:var(--oa-blue) !important;
  color:#fff !important;
  border-radius:10px !important;
  box-shadow:none !important;
}

body.mpcirc-circle-page .mpcirc-post-form-submit-btn:hover,
body.mpcirc-circle-page .mpcirc-join-circle-btn:hover,
body.mpcirc-circle-page button[type="button"].mpcirc-form-submit:hover,
body.mpcirc-circle-page form.mpcirc-settings-form button.mpcirc-form-submit:hover,
body.mpcirc-circle-page .mpcirc-add-members-btn:hover{
  background:var(--oa-blue-deep) !important;
  border-color:var(--oa-blue-deep) !important;
  color:#fff !important;
}

body.mpcirc-circle-page .mpcirc-non-member-join-circle{
  background:#f4f7ff !important;
  border:1px solid var(--oa-line) !important;
  border-radius:14px !important;
}

body.mpcirc-circle-page .mpcirc-non-member-join-circle h2{
  color:var(--oa-ink) !important;
}

body.mpcirc-circle-page input[type="checkbox"]{
  accent-color:var(--oa-blue) !important;
}

body.mpcirc-circle-page .mpcirc-leave-circle-btn{
  background:var(--oa-red) !important;
  border-color:var(--oa-red) !important;
  color:#fff !important;
  border-radius:10px !important;
}

body.mpcirc-circle-page .mpcirc-leave-circle-btn:hover{
  background:#d91f1a !important;
  border-color:#d91f1a !important;
}

body.mpcirc-circle-page .mpcirc-member-status,
body.mpcirc-circle-page .mpcirc-status-active{
  background:var(--oa-powder-soft) !important;
  color:var(--oa-blue) !important;
  border-radius:999px !important;
}

body.mpcirc-circle-page .mpcirc-member-role,
body.mpcirc-circle-page .mpcirc-role-member{
  background:var(--oa-grey) !important;
  color:var(--oa-ink) !important;
  border-radius:999px !important;
}

body.mpcirc-circle-page .mpcirc-members-filter a,
body.mpcirc-circle-page .mpcirc-members-filter button{
  color:var(--oa-ink) !important;
  border-color:var(--oa-line-strong) !important;
}

body.mpcirc-circle-page .mpcirc-members-filter a:hover,
body.mpcirc-circle-page .mpcirc-members-filter button:hover{
  color:var(--oa-blue) !important;
  border-color:var(--oa-blue) !important;
}

/* ============================================================
   18. Policy and FAQ pages
   ============================================================ */

.inst .faq-sec{
  font:600 19px/1.3 var(--serif);
  color:var(--oa-blue);
  margin:26px 0 12px;
}

.inst .faq-sec:first-child{
  margin-top:4px;
}

.inst .faq{
  border:1px solid var(--oa-line);
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}

.inst .faq + .faq{
  margin-top:10px;
}

.inst .faq > summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:15px 18px;
  font:600 16px/1.4 var(--sans);
  color:var(--oa-ink);
}

.inst .faq > summary::-webkit-details-marker{
  display:none;
}

.inst .faq > summary:hover{
  color:var(--oa-blue);
}

.inst .faq[open] > summary{
  border-bottom:1px solid var(--oa-line);
}

.inst .faq .chev{
  flex:0 0 auto;
  color:var(--oa-blue);
  transition:transform .18s ease;
}

.inst .faq[open] > summary .chev{
  transform:rotate(180deg);
}

.inst .faq .faq-a{
  padding:14px 18px 17px;
  font:400 15px/1.6 var(--sans);
  color:var(--oa-muted);
}

.inst .faq .faq-a a{
  color:var(--oa-blue);
  text-decoration:none;
}

.inst .faq .faq-a a:hover{
  text-decoration:underline;
}

.inst .policy{
  color:var(--oa-ink);
  font:400 16px/1.7 var(--sans);
}

.inst .policy .lead{
  font-size:17px;
  line-height:1.6;
  color:var(--oa-ink);
  margin:0 0 10px;
}

.inst .policy .updated{
  color:var(--oa-muted);
  font-size:14px;
  margin:0 0 24px;
}

.inst .policy h2{
  font:600 21px/1.3 var(--serif);
  color:var(--oa-blue);
  margin:32px 0 10px;
}

.inst .policy h2:first-child{
  margin-top:0;
}

.inst .policy h3{
  font:600 16px/1.35 var(--sans);
  color:var(--oa-ink);
  margin:22px 0 8px;
}

.inst .policy p{
  margin:0 0 14px;
}

.inst .policy ul{
  margin:0 0 16px;
  padding-left:22px;
}

.inst .policy li{
  margin:0 0 7px;
}

.inst .policy a{
  color:var(--oa-blue);
  text-decoration:none;
}

.inst .policy a:hover{
  text-decoration:underline;
}

.inst .policy .lb{
  display:block;
  color:var(--oa-muted);
  font-size:14px;
  margin-top:2px;
}

.inst .policy .ptable{
  width:100%;
  border-collapse:collapse;
  margin:8px 0 18px;
  font-size:14px;
  line-height:1.55;
}

.inst .policy .ptable th,
.inst .policy .ptable td{
  border:1px solid var(--oa-line);
  padding:10px 12px;
  text-align:left;
  vertical-align:top;
}

.inst .policy .ptable th{
  background:var(--oa-powder-soft);
  color:var(--oa-ink);
  font-weight:600;
}

.inst .policy .ptable td:first-child{
  font-weight:600;
  white-space:nowrap;
}

.inst:has(.policy) .pagehead,
.inst:has(.faq) .pagehead{
  padding-top:52px;
  padding-bottom:36px;
}

/* FAQ page (hero layout) */
.faq-hero{
  background:#2f6aff;
  color:#fff;
  text-align:center;
  padding:55px 25px;
  margin-bottom:70px;
}

.faq-hero h1{
  color:#fff;
  margin-bottom:15px;
}

.faq-hero a{
  color:#fff;
  text-decoration:underline;
}

.faq-section{
  max-width:1050px;
  margin:0 auto 70px auto;
  padding:0 25px;
}

.faq-section h2{
  margin-bottom:25px;
}

.faq-section details{
  border-bottom:1px solid #e5e5e5;
  padding:18px 0;
}

.faq-section summary{
  cursor:pointer;
  font-weight:600;
  font-size:18px;
}

.faq-section details p{
  margin-top:15px;
  line-height:1.7;
}

/* ============================================================
   19. Kadence footer (#colophon) link styling
   ============================================================ */

#colophon .oa-footer-links,
#colophon .oa-footer-links li{
  list-style:none !important;
  margin:0 0 12px !important;
  padding:0 !important;
}

#colophon .oa-footer-links a,
#colophon .oa-footer-links a:visited{
  color:#c7d1da !important;
  text-decoration:none !important;
}

#colophon .oa-footer-links a:hover,
#colophon .oa-footer-links a:focus{
  color:#ffffff !important;
}

/* ============================================================
   20. Community layout + member sidebar
   Shortcode [oa_discussion_board] AND the block-built page
   ============================================================ */

body:has(.oa-community-layout) #primary,
body:has(.oa-community-layout) #primary .content-container,
body:has(.oa-community-layout) #main,
body:has(.oa-community-layout) #main .content-wrap,
body:has(.oa-community-layout) article.entry,
body:has(.oa-community-layout) .entry-content-wrap,
body:has(.oa-community-layout) .entry-content{
  width:100% !important;
  max-width:none !important;
}

body:has(.oa-community-layout) #primary{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

body:has(.oa-community-layout) #primary .content-container,
body:has(.oa-community-layout) #main .content-wrap,
body:has(.oa-community-layout) article.entry,
body:has(.oa-community-layout) .entry-content-wrap,
body:has(.oa-community-layout) .entry-content{
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

body:has(.oa-community-layout) article.entry,
body:has(.oa-community-layout) .entry-content-wrap{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body:has(.oa-community-layout) .entry-hero,
body:has(.oa-community-layout) article.entry > .entry-header{
  display:none !important;
}

.oa-community-layout,
.oa-community-layout *,
.oa-community-layout *::before,
.oa-community-layout *::after{
  box-sizing:border-box;
}

/* Grid version (shortcode output) */
.oa-community-layout{
  display:grid;
  grid-template-columns:275px minmax(0,1fr);
  align-items:start;
  gap:34px;
  width:100%;
  max-width:1380px;
  margin:0 auto;
  padding:28px 32px 64px;
  clear:both;
}

.oa-community-layout__sidebar{
  position:sticky;
  top:70px;
  min-width:0;
}

body.admin-bar .oa-community-layout__sidebar{
  top:140px;
}

/* Flex/columns version (block-built page) */
.wp-block-columns.oa-community-layout{
  align-items:flex-start !important;
}

.wp-block-column.oa-community-layout__sidebar{
  position:sticky;
  top:108px;              /* clears the sticky site header */
  align-self:flex-start;  /* stop the column stretching full height */
}

body.admin-bar .wp-block-column.oa-community-layout__sidebar{
  top:140px;              /* extra room for the WP admin bar */
}

@media (min-width:861px){
  .wp-block-column.oa-community-layout__sidebar{
    flex-basis:24% !important;
    max-width:290px;
  }

  .wp-block-column.oa-community-layout__feed{
    flex-basis:76% !important;
  }
}

.oa-community-layout__feed{
  display:block;
  width:100%;
  min-width:0;
  margin:0;
}

.oa-community-layout__feed > *{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.oa-community-layout__feed img{
  max-width:100%;
  height:auto;
}

.oa-community-layout__feed :where(input,select,textarea,button){
  max-width:100%;
}

.oa-community-notice{
  max-width:1380px;
  margin:32px auto;
  padding:0 32px;
  color:var(--oa-muted);
}

/* Current-member card */
.oa-community-profile{
  position:relative;
  overflow:hidden;
  width:100%;
  margin:0;
  color:var(--oa-ink);
  background:#fff;
  border:1px solid var(--oa-line);
  border-radius:13px;
  box-shadow:0 5px 18px rgba(38,56,69,.08);
  text-align:center;
}

/* Cover strip — solid brand ink (#263845), overriding any
   image/gradient variant the shortcode may output. */
.oa-community-profile__cover{
  position:relative;
  overflow:hidden;
  width:100%;
  height:78px;
  min-height:78px;
  margin:0;
  background:#263845;
}

.oa-community-profile__cover > *,
.oa-community-profile__cover .wp-block-memberpress-directory-profile-cover,
.oa-community-profile__cover .profile-cover,
.oa-community-profile__cover .profile-cover-container,
.oa-community-profile__cover-fallback{
  display:block !important;
  width:100% !important;
  height:78px !important;
  min-height:78px !important;
  max-height:78px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#263845 !important;
  background-image:none !important;
}

.oa-community-profile__cover img{
  display:none !important;
}

.oa-community-profile__photo{
  position:relative;
  z-index:2;
  width:96px;
  height:48px;
  margin:-48px auto 0;
}

.oa-community-profile__photo .profile-photo.wp-block-memberpress-directory-profile-photo,
.oa-community-profile__photo .wp-block-memberpress-directory-profile-photo{
  position:static !important;
  display:block !important;
  width:96px !important;
  height:96px !important;
  min-width:96px !important;
  min-height:96px !important;
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
}

.oa-community-profile__photo .profile-photo-container{
  position:static !important;
  display:block !important;
  width:96px !important;
  height:96px !important;
  min-width:96px !important;
  min-height:96px !important;
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:#fff !important;
  box-shadow:0 7px 22px rgba(38,56,69,.16) !important;
  transform:none !important;
}

.oa-community-profile__photo .profile-avatar,
.oa-community-profile__photo .profile-avatar-placeholder{
  position:static !important;
  display:block !important;
  width:96px !important;
  height:96px !important;
  min-width:96px !important;
  min-height:96px !important;
  max-width:96px !important;
  max-height:96px !important;
  margin:0 !important;
  padding:0 !important;
  border:4px solid #fff !important;
  border-radius:50% !important;
  background:#fff !important;
  object-fit:cover !important;
  object-position:center !important;
  box-shadow:none !important;
  transform:none !important;
}

.oa-community-profile__photo :where(button,svg,.profile-photo-edit,.edit-profile-photo){
  display:none !important;
}

.oa-community-profile__body{
  padding:58px 0 0;
}

.oa-community-profile__name{
  margin:0;
  padding:0 18px;
  color:var(--oa-ink);
  font-family:var(--sans);
  font-size:20px;
  font-weight:800;
  line-height:1.25;
  letter-spacing:-.02em;
  overflow-wrap:anywhere;
}

.oa-community-profile__role{
  margin:7px 0 22px;
  padding:0 18px;
  color:var(--oa-muted);
  font-family:var(--sans);
  font-size:14px;
  font-weight:500;
  line-height:1.45;
}

.oa-community-profile__links{
  display:flex;
  flex-direction:column;
  margin:0;
  border-top:1px solid var(--oa-line);
  text-align:left;
}

.oa-community-profile__links a,
.oa-community-profile__links a:visited{
  display:block;
  padding:14px 16px;
  color:var(--oa-ink);
  border-bottom:1px solid var(--oa-line);
  background:#fff;
  font-family:var(--sans);
  font-size:13.5px;
  font-weight:750;
  line-height:1.35;
  text-decoration:none;
  transition:background-color .16s ease,color .16s ease;
}

.oa-community-profile__links a:last-child{
  border-bottom:0;
}

.oa-community-profile__links a:hover{
  color:var(--oa-blue);
  background:#f5f8ff;
}

.oa-community-profile__links a:focus-visible{
  color:var(--oa-blue);
  background:#f5f8ff;
  outline:3px solid rgba(47,106,255,.3);
  outline-offset:-3px;
}

@media (max-width:1100px){
  .oa-community-layout{
    grid-template-columns:245px minmax(0,1fr);
    gap:26px;
    padding-left:24px;
    padding-right:24px;
  }
}

@media (max-width:860px){
  .oa-community-layout{
    grid-template-columns:1fr;
    gap:24px;
    padding-top:24px;
  }

  .oa-community-layout__sidebar,
  body.admin-bar .oa-community-layout__sidebar,
  .wp-block-column.oa-community-layout__sidebar,
  body.admin-bar .wp-block-column.oa-community-layout__sidebar{
    position:static;
  }

  .oa-community-profile{
    max-width:520px;
    margin:0 auto;
  }
}

@media (max-width:520px){
  .oa-community-layout{
    gap:20px;
    padding:18px 14px 42px;
  }

  .oa-community-profile__cover,
  .oa-community-profile__cover > *,
  .oa-community-profile__cover .wp-block-memberpress-directory-profile-cover,
  .oa-community-profile__cover .profile-cover,
  .oa-community-profile__cover .profile-cover-container,
  .oa-community-profile__cover-fallback{
    height:68px !important;
    min-height:68px !important;
    max-height:68px !important;
  }
}

/* ============================================================
   21. Third-party fixes
   ============================================================ */

/* Kill HubSpot web-interactives spacers/banners above the header */
#hs-web-interactives-top-push-anchor,
#hs-web-interactives-top-anchor,
#hs-web-interactives-top-push,
[id^="hs-web-interactives-top"]{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
}

/* ============================================================
   22. Responsive
   ============================================================ */

@media (prefers-reduced-motion:reduce){
  .inst *,
  .inst *::before,
  .inst *::after{
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
}

@media (max-width:1080px){
  .inst-cols,
  .profcols{
    grid-template-columns:1fr;
  }

  .inst-cols aside,
  .profcols aside{
    order:2;
  }

  .dirgrid,
  .restiles,
  .resgrid3,
  .netfeat{
    grid-template-columns:repeat(2,1fr);
  }

  .compare{
    grid-template-columns:1fr;
  }

  .nethero h1{
    font-size:42px;
  }
}

@media (max-width:781px){
  .inst-area.wp-block-columns{
    flex-wrap:wrap;
  }

  .mpdir-profile-page .wp-block-memberpress-directory-profile-name h3.mpdir-profile-name-title{
    font-size:24px !important;
  }
}

@media (max-width:768px){
  .inst{
    font-size:15px;
  }

  .oa-hchip .who{
    display:none;
  }

  .oa-hchip{
    padding:5px;
    border:none;
  }

  .inst-events,
  .inst-events.two,
  .dirgrid,
  .restiles,
  .resgrid3,
  .netfeat,
  .inst-cols,
  .profcols,
  .compare,
  .libfeat,
  .inst-welcome .grid{
    grid-template-columns:1fr;
  }

  .inst .card,
  .inst-panel,
  .inst-net,
  .inst-welcome,
  .evc,
  .evrow,
  .mcardd,
  .rtile,
  .tiercard,
  .libfeat,
  .nfcard,
  .netcta{
    width:100%;
  }

  .inst .sec-h{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }

  .inst .btn{
    white-space:normal;
  }

  .inst .inst-section > .wrap{
    padding-left:var(--oa-gutter) !important;
    padding-right:var(--oa-gutter) !important;
  }

  .inst-welcome{
    padding:26px 20px;
  }

  .inst-welcome .grid{
    display:block;
  }

  .inst-welcome .grid > div:last-child{
    display:none;
  }

  .inst-welcome h1{
    font-size:clamp(26px,7.4vw,32px);
    line-height:1.12;
    margin:8px 0 12px;
  }

  .inst-welcome .wmeta{
    gap:6px;
    font-size:13.5px;
    margin-bottom:20px;
  }

  .inst-welcome .wmeta .dot{
    display:none;
  }

  .inst-welcome .wctas{
    flex-direction:column;
    align-items:stretch;
  }

  .inst-welcome .wctas .btn{
    width:100%;
    justify-content:center;
  }

  .oa-hero-discussion{
    flex-direction:column;
    align-items:flex-start;
  }

  .oa-hero-discussion .btn{
    width:100%;
    justify-content:center;
  }

  .badgerow{
    flex-direction:column;
  }

  .bcard{
    min-width:0;
  }

  .evrow{
    flex-direction:column;
    align-items:stretch;
  }

  .evrow .cov{
    width:100%;
    height:170px;
  }

  .evrow .ecta{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }

  .evrow .eb .toprow{
    white-space:normal;
    flex-wrap:wrap;
  }

  .libfeat .lf-img{
    min-height:200px;
  }

  .pagehead h1,
  .profhead .pmeta h1{
    font-size:26px;
  }

  .oa-dir-stat{
    text-align:left;
  }

  .nethero .nh-in{
    padding-top:44px;
    padding-bottom:40px;
  }

  .nethero h1{
    font-size:32px;
  }

  .nethero p{
    font-size:16px;
  }

  .netcta{
    padding:34px 24px;
  }

  .sessrow{
    flex-wrap:wrap;
  }

  .profhead{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    padding:0 0 6px;
    min-height:0;
  }

  .profhead .pav{
    position:static;
    width:104px;
    height:104px;
    font-size:34px;
    margin-top:-56px;
  }

  .profhead .pact{
    padding-bottom:0;
  }

  .profcols{
    padding-top:22px;
  }

  .proftabs{
    gap:18px;
    overflow-x:auto;
  }

  .inst-panel{
    padding:20px;
  }

  .inst-panel h3{
    font-size:17px;
  }

  .inst-net h3{
    font-size:18px;
  }

  .dirrow .db .n{
    flex-wrap:wrap;
  }

  .dirrow .db .n .pf{
    white-space:nowrap;
  }

  body.single-mpdir-directory .user-template-item{
    padding:18px !important;
  }

  body.single-mpdir-directory .user-template-item .wp-block-columns{
    gap:12px !important;
  }

  body.single-mpdir-directory .wp-block-memberpress-directory-user-photo img,
  body.single-mpdir-directory .wp-block-memberpress-directory-user-photo .avatar,
  body.single-mpdir-directory .wp-block-memberpress-directory-user-photo .profile-avatar{
    width:64px !important;
    height:64px !important;
  }

  body.single-mpdir-directory .wp-block-memberpress-directory-user-name,
  body.single-mpdir-directory .wp-block-memberpress-directory-user-name a{
    font-size:18px !important;
  }
}

@media (max-width:600px){
  .inst .policy .ptable td:first-child{
    white-space:normal;
  }
}

@media (max-width:520px){
  body.page-id-10 .entry-content{
    align-items:stretch !important;
    gap:10px !important;
    padding:16px 14px 16px !important;
  }

  body.page-id-10 .entry-content img{
    max-width:min(180px,52vw) !important;
    max-height:94px !important;
  }

  body.page-id-10 .mp_wrapper.mp_login_form,
  body.page-id-10 .mp_wrapper:has(#mepr_loginform),
  body.page-id-10 .mp_wrapper:has(#mepr_forgot_password_form),
  body.page-id-10 .mp_wrapper:has(.mepr_error):not(.mp_login_form):not(:has(form)){
    max-width:none !important;
  }

  body.page-id-10 .mp_wrapper.mp_login_form,
  body.page-id-10 .mp_wrapper:has(#mepr_loginform),
  body.page-id-10 .mp_wrapper:has(#mepr_forgot_password_form){
    padding:24px 20px 20px !important;
    border-radius:16px !important;
  }

  body.page-id-10 .mp_wrapper.mp_login_form form::before,
  body.page-id-10 .mp_wrapper:has(#mepr_loginform) form::before,
  body.page-id-10 .mp_wrapper:has(#mepr_forgot_password_form) h3{
    font-size:22px !important;
  }
}

@media (max-width:480px){
  .pagehead h1,
  .profhead .pmeta h1{
    font-size:clamp(22px,6.4vw,26px);
  }

  .nethero h1{
    font-size:clamp(26px,7vw,32px);
  }

  .inst-welcome h1{
    font-size:clamp(24px,7.4vw,30px);
    margin:8px 0 12px;
  }

  .inst .sec-h h2{
    font-size:21px;
  }

  .libfeat .lf-txt h2,
  .netcta h2{
    font-size:24px;
  }

  .inst .eyebrow{
    font-size:11px;
    letter-spacing:.1em;
  }

  .inst-welcome{
    padding:24px 18px;
  }

  .inst-welcome .wmeta{
    font-size:13.5px;
    gap:8px 14px;
    margin-bottom:20px;
  }

  .inst-welcome .wctas .btn,
  .nethero .nh-ctas .btn,
  .netcta .btn{
    width:100%;
    justify-content:center;
  }
}
/* ============================================================
   Member Directory skin v3 (/directories/alumni-members/)
   CONSOLIDATED: replaces ALL previous directory sections in
   inst.css (v2 skin, v2.1 alignment patch, v2.2 initials).
   Delete those blocks and paste this ONCE at the bottom.
   Works with oa-directory.php (badges + initials avatars).

   Card layout:
     [avatar]  Name          (ALUMNI/NETWORK badge top-right)
     [avatar]  Job title
     Company
     Country
                              [View Profile]
   ============================================================ */

/* Brand the plugin's own controls (layout toggle, active filter,
   pagination current page, focus rings) in one move. */
.single-mpdir-directory{--wp--preset--color--primary:var(--oa-blue);}

/* --- grid: 4 across on desktop (change 4 -> 5 to try five) --- */
@media (min-width:1025px){
  .single-mpdir-directory .wp-block-memberpress-directory-directory-user-template-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;}
}
@media (min-width:768px) and (max-width:1024px){
  .single-mpdir-directory .wp-block-memberpress-directory-directory-user-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;}
}

/* --- card shell --- */
.single-mpdir-directory .user-template-item{position:relative;background:#fff;border:1px solid #e3e7ea;border-radius:12px;padding:16px;transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease;}
.single-mpdir-directory .user-template-item:hover{border-color:#c8d6f5;box-shadow:0 8px 20px rgba(38,56,69,.08);transform:translateY(-2px);}

/* --- kill every core layout-constrained centring rule inside the card:
       the wrapper itself AND its children (this was the phantom indent) --- */
.single-mpdir-directory .oa-dir-card{display:block!important;height:100%;margin:0!important;max-width:none!important;}
.single-mpdir-directory .oa-dir-card>.wp-block-group__inner-container{margin:0!important;max-width:none!important;width:100%!important;}
.single-mpdir-directory .oa-dir-card>.wp-block-group__inner-container>*{margin-left:0!important;margin-right:0!important;max-width:none!important;justify-self:start;text-align:left;}

/* --- the tile grid. Child order: photo(1) h3(2) role(3) org(4) loc(5) actions(6) --- */
.single-mpdir-directory .oa-dir-card>.wp-block-group__inner-container{
  display:grid;height:100%;
  grid-template-columns:52px minmax(0,1fr);
  grid-template-rows:auto auto auto auto 1fr;
  grid-template-areas:
    "photo name"
    "photo role"
    "org   org"
    "loc   loc"
    "act   act";
  column-gap:14px;row-gap:2px;
  align-items:start;
}

/* avatar: 52px, hard top-left, vertically centred against name + role */
.single-mpdir-directory .wp-block-memberpress-directory-directory-user-photo{grid-area:photo;margin:0!important;justify-self:start;align-self:center;}
.single-mpdir-directory .directory-user-photo-link,
.single-mpdir-directory .directory-user-photo-container{border:none!important;padding:0!important;display:block!important;}
.single-mpdir-directory .directory-user-photo{width:52px!important;height:52px!important;}
.single-mpdir-directory .directory-user-photo-fallback{opacity:.5;filter:grayscale(1);}

/* initials avatar (oa-directory.php) for members without an uploaded photo */
.single-mpdir-directory .oa-init{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:#fff;font:800 17px/1 var(--sans);letter-spacing:.02em;}

/* name beside the avatar, job title under the name */
.single-mpdir-directory h3.wp-block-memberpress-directory-directory-user-name{grid-area:name;align-self:end;margin:0!important;padding-right:58px;font:800 15px/1.25 var(--sans);color:var(--oa-ink);}
.single-mpdir-directory .wp-block-memberpress-directory-directory-user-name .directory-user-name-link:hover{color:var(--oa-blue);text-decoration:none;}
.single-mpdir-directory .oa-dir-card>.wp-block-group__inner-container>.directory-field-container:nth-child(3){grid-area:role;align-self:start;font:600 12.5px/1.35 var(--sans);color:#3f5261;}

/* company + country under the avatar, full card width */
.single-mpdir-directory .directory-field-container{font:400 12px/1.5 var(--sans);color:var(--oa-muted);}
.single-mpdir-directory .oa-dir-card>.wp-block-group__inner-container>.directory-field-container:nth-child(4){grid-area:org;margin-top:10px!important;}
.single-mpdir-directory .oa-dir-card>.wp-block-group__inner-container>.directory-field-container:nth-child(5){grid-area:loc;}

/* View Profile: brand pill pinned bottom-RIGHT */
.single-mpdir-directory .oa-dir-actions{grid-area:act;align-self:end;justify-self:end;margin:0!important;padding-top:14px;width:auto;justify-content:flex-end!important;}
.single-mpdir-directory .wp-block-memberpress-directory-directory-profile-button{background:var(--oa-blue)!important;color:#fff!important;border:none;border-radius:999px;padding:9px 16px;font:700 12px/1 var(--sans);}
.single-mpdir-directory .wp-block-memberpress-directory-directory-profile-button:hover,
.single-mpdir-directory .wp-block-memberpress-directory-directory-profile-button:focus{background:#2456cc!important;color:#fff!important;filter:none;transform:none;}

/* --- tier badges (injected by oa-directory.php) --- */
.single-mpdir-directory .oa-tier{position:absolute;top:14px;right:14px;z-index:2;font:800 9px/1 var(--sans);letter-spacing:.08em;border-radius:999px;padding:5px 8px;pointer-events:none;}
.single-mpdir-directory .oa-tier-network{background:var(--oa-ink);color:#F9AF2B;}
.single-mpdir-directory .oa-tier-alumni{background:var(--oa-powder-soft);color:var(--oa-blue);}

/* --- toolbar: search, dropdowns, layout toggle --- */
.single-mpdir-directory .mpdir-directory-filters .mpdir-filter-search-container input[type=text].mpdir-filter-input{border-radius:10px;border-color:#e3e7ea;font-family:var(--sans);}
.single-mpdir-directory .mpdir-directory-filters .mpdir-filter-search-container input[type=text].mpdir-filter-input:focus{border-color:var(--oa-blue);box-shadow:0 0 0 3px rgba(47,106,255,.15);}
.single-mpdir-directory .mpdir-directory-filters .mpdir-controls-row .mpdir-filter-dropdown-container .mpdir-filter-dropdown,
.single-mpdir-directory .mpdir-directory-filters .mpdir-controls-row .mpdir-conditional-select .mpdir-filter-select{border-radius:10px;border-color:#e3e7ea;font-family:var(--sans);}
.single-mpdir-directory .mpdir-directory-filters .mpdir-controls-row .mpdir-layout-buttons{border-radius:10px;border-color:#e3e7ea;}

/* --- pagination --- */
.single-mpdir-directory .mpdir-directory-pagination .mpdir-page-numbers{font-family:var(--sans);border-radius:8px;}
/* avatar size clamp — only needed if the 52px sizing loses to another rule */
.single-mpdir-directory .oa-init{width:52px!important;height:52px!important;font-size:17px!important;}
.single-mpdir-directory .directory-user-photo{width:52px!important;height:52px!important;}
.single-mpdir-directory .oa-dir-actions{justify-self:end!important;justify-content:flex-end!important;}
/* Page header band: white instead of grey */
.inst .pagehead{
  background:#fff;
  border-bottom:1px solid var(--oa-line);
}
/* Hide the raw country code under the name on member profiles */
body.mpdir-profile-page .mpdir-profile-name-location{display:none;}
/* ============================================================
   Member profile redesign (22 Jul 2026)
   Scope: body.mpdir-profile-page (from oa-profile.php) + .inst blocks.
   Append to the bottom of inst.css. Cache-busted by filemtime, but
   still Purge SG Cache + Ctrl+F5 before judging the result.
   ============================================================ */

/* Header card: border, radius, clipped cover corners. Replaces the card
   look previously provided by the styled column wrapper. */
body.mpdir-profile-page .wp-block-memberpress-directory-profile-header{
  background:#fff;
  border:1px solid var(--oa-line);
  border-radius:12px;
  overflow:hidden;
  padding-bottom:20px !important;
}

/* Meta line: role · organisation · country inline on one line.
   Scoped to fields INSIDE the header so the About field block is untouched.
   NOTE: if the fields still stack, the block may wrap values in inner <p>
   tags with their own margins; view-source the live page and extend the
   reset below to that inner element. */
body.mpdir-profile-page .wp-block-memberpress-directory-profile-header .wp-block-memberpress-directory-profile-fields{
  display:inline-block;
  margin:2px 0 0;
  font-size:15px;
  color:var(--oa-muted);
}
body.mpdir-profile-page .wp-block-memberpress-directory-profile-header .wp-block-memberpress-directory-profile-fields p{
  margin:0;
  display:inline;
}
body.mpdir-profile-page .wp-block-memberpress-directory-profile-header .wp-block-memberpress-directory-profile-fields + .wp-block-memberpress-directory-profile-fields::before{
  content:"\00B7";
  margin:0 8px 0 6px;
  color:var(--oa-muted);
}

/* Tier pill (ALUMNI / NETWORK). Mirrors the directory skin's .oa-tier but
   scoped to the profile page, since the v3 rules are scoped to
   body.single-mpdir-directory and do not reach here. */
body.mpdir-profile-page .oa-tier{
  display:inline-block;
  font:700 11px/1 var(--sans);
  letter-spacing:.5px;
  padding:5px 11px;
  border-radius:999px;
}
body.mpdir-profile-page .oa-tier-alumni{background:var(--oa-powder-soft);color:var(--oa-blue);}
body.mpdir-profile-page .oa-tier-network{background:var(--oa-ink);color:#F9AF2B;}

/* Pill line under the name (also used in the Membership sidebar card). */
.inst .oa-profile-tierline{margin:6px 0 2px;}

/* Membership card rows: muted label left, value right. */
.inst .oa-memrow{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
  font-size:14px;
  padding:9px 0;
  border-bottom:1px solid var(--oa-line);
}
.inst .oa-memrow:last-of-type{border-bottom:0;padding-bottom:0;}
.inst .oa-memrow .k{color:var(--oa-muted);}
.inst .oa-memrow .v{font-weight:600;color:var(--oa-ink);text-align:right;}
/* Practitioners rows: stack name, role, organisation vertically */
body.mpdir-profile-page .inst .dirrow .db{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  flex:1;
  min-width:0;
}
/* Profile page: stack credential cards full-width, one per line */
body.mpdir-profile-page .credstrip .badgerow{
  display:flex;
  flex-direction:column;
  gap:14px;
}
body.mpdir-profile-page .credstrip .bcard{
  width:100%;
  max-width:none;
}
/* Profile Activity card rows */
.inst .oa-actrow{padding:10px 0;border-bottom:1px solid var(--oa-line);}
.inst .oa-actrow:last-of-type{border-bottom:0;padding-bottom:2px;}
.inst .oa-actverb{display:block;font-size:12.5px;color:var(--oa-muted);margin-bottom:3px;}
.inst .oa-actrow a.tx{display:block;font-size:14px;font-weight:600;color:var(--oa-ink);text-decoration:none;line-height:1.45;}
.inst .oa-actrow a.tx:hover{color:var(--oa-blue);}
/* About, now inside the header card */
body.mpdir-profile-page .wp-block-memberpress-directory-profile-header .wp-block-memberpress-directory-profile-fields{
  display:block;
  margin:16px 0 0;
  padding:0;
  border:0;
  background:transparent;
  font-size:15px;
  color:var(--oa-ink);
}
/* Header card: outer dynamic <header> wrapper only */
body.mpdir-profile-page header.wp-block-memberpress-directory-profile-header{
  background:#fff;
  border:1px solid var(--oa-line);
  border-radius:12px;
  overflow:hidden;
  padding-bottom:20px !important;
  margin-bottom:0;
}
/* Inner duplicate wrapper: strip the card look and the plugin's 30px margin */
body.mpdir-profile-page .wp-block-memberpress-directory-profile-header .wp-block-memberpress-directory-profile-header{
  border:0 !important;
  border-radius:0;
  padding-bottom:0 !important;
  margin-bottom:0;
  background:transparent;
  overflow:visible;
}
/* Locked credential badge: greyed-out real badge, unlockable-achievement style */
.inst .bcard.locked .bimg img{display:block;width:100%;height:100%;object-fit:contain;filter:grayscale(1);opacity:.4;}
.inst .bcard.locked:hover .bimg img{filter:grayscale(.6);opacity:.55;transition:filter .25s,opacity .25s;}
/* ==========================================================================
   Member Directory: credential badge icons on cards
   --------------------------------------------------------------------------
   Injected by oa-directory.php / oa-directory.js. Anchored bottom-left of
   the card, on the View Profile button row. Absolute so they escape the
   card's grid-template-areas layout (same reason .oa-tier is absolute).
   ======================================================================== */
body.single-mpdir-directory li.user-template-item{position:relative;}
body.single-mpdir-directory .oa-creds{
  position:absolute;
  bottom:16px;         /* align with the View Profile button row - nudge to taste */
  left:18px;
  display:flex;
  gap:6px;
  z-index:2;
}
body.single-mpdir-directory .oa-cred{
  width:40px;
  height:40px;
  object-fit:contain;
  cursor:help;
  filter:drop-shadow(0 1px 2px rgba(38,56,69,.18));
}
/* ============================================================
   Kadence footer skin — match operamacademy.com footer type
   Catch-all selectors: covers Kadence nav-menu widgets, HTML
   widgets, and plain lists alike. If any element resists,
   Inspect it and add its class to the relevant group.
   ============================================================ */

#colophon,
#colophon p,
#colophon li,
#colophon a,
#colophon .widget,
#colophon .footer-widget-area{
  font-family:var(--sans) !important;
}

/* Column headings ("Quick Links", "Support", "Operam Academy ALUMNI") */
#colophon h2,
#colophon h3,
#colophon h4,
#colophon .widget-title,
#colophon .widgettitle{
  margin:0 0 16px !important;
  font:800 17px/1.3 var(--sans) !important;
  color:#ffffff !important;
  letter-spacing:-.01em !important;
}

/* Links: smaller, bolder, tighter — marketing-site style */
#colophon a,
#colophon a:visited{
  font-size:14.5px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  color:#c7d1da !important;
  text-decoration:none !important;
}

#colophon a:hover,
#colophon a:focus{
  color:#ffffff !important;
}

/* List spacing: kill the airy Kadence defaults */
#colophon ul{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

#colophon li{
  margin:0 0 12px !important;
  padding:0 !important;
  list-style:none !important;
}

/* Body copy (the "Connecting certified..." strapline) */
#colophon p{
  font-size:14.5px !important;
  line-height:1.6 !important;
  color:#c7d1da !important;
}

/* Copyright row: bold, centred, marketing style */
#colophon .footer-bottom p,
#colophon .site-footer-bottom-section p,
#colophon .footer-html p{
  font-weight:700 !important;
  font-size:13.5px !important;
  color:#c7d1da !important;
}
/* Events page: tier label as a pill (matches .oa-tier on profile/directory) */
.inst .evrow .kk{
  display:inline-flex;align-items:center;
  padding:4px 10px;border-radius:999px;
  font-size:11px;font-weight:800;letter-spacing:.06em;
  line-height:1;text-transform:uppercase;
}
.inst .evrow .kk.alumni{background:var(--oa-powder-soft);color:var(--oa-blue);}
.inst .evrow .kk.network{background:var(--oa-ink);color:#fff;}
/* ============================================================
   Discussion Board (ClubSuite Circles) — CONSOLIDATED section
   MERGED 04 Aug 2026: the file previously carried TWO near-identical
   copies of this section back to back; they are now one. Differences
   preserved from each: the role-labels-hidden decision (from the
   later copy of the rules), the parked .oa-nx mini event card AND
   the compact .oa-next-date line (part 3 of both copies), the teal
   dropdown fix, and the short-viewport sticky fallback.

   Scoped to body.mpcirc-circle-page. Targets ClubSuite's mpcirc-*
   classes, recon'd from the live page source 28 Jul 2026 (page 585).
   Tier pills are injected by oa-discussion-boards.js.
   ============================================================ */

/* ---- 1. Tier pills --------------------------------------------------- */
/* NOTE: one of several deliberate page-scoped copies of the pill look
   (directory, profile, events rows, account dropdown are the others) —
   keep values in step if the design ever changes. Values match the
   events .kk pill. */
body.mpcirc-circle-page .oa-tier{
  display:inline-flex;align-items:center;vertical-align:middle;
  margin-left:8px;padding:4px 10px;border-radius:999px;
  font-family:"Hanken Grotesk",sans-serif;
  font-size:11px;font-weight:800;letter-spacing:.06em;
  line-height:1;text-transform:uppercase;white-space:nowrap;
}
body.mpcirc-circle-page .oa-tier-network{background:var(--oa-ink);color:#fff;}
body.mpcirc-circle-page .oa-tier-alumni{background:var(--oa-powder-soft);color:var(--oa-blue);}

/* ALUMNI pill SUPPRESSED by decision (28 Jul 2026): it is the baseline
   tier nearly every author holds, so it reads as noise in a feed.
   NETWORK remains as the signal. Delete this rule to bring ALUMNI back,
   or swap it for the ghost variant:
   background:transparent;border:1px solid var(--oa-line);color:var(--oa-muted); */
body.mpcirc-circle-page .oa-tier-alumni{display:none;}

/* Post-header pill stacks under the role line — align it with the text */
body.mpcirc-circle-page .mpcirc-latest-post-author-info .oa-tier{
  margin-left:0;margin-top:4px;
}

/* Comment headers are tighter than post headers — shrink slightly there */
body.mpcirc-circle-page .mpcirc-comment-header .oa-tier{
  padding:3px 8px;font-size:10px;
}

/* ---- 2. Feed skin ---------------------------------------------------- */
/* Deliberately light-touch: typography, borders, buttons, links. No
   padding/layout overrides, so plugin updates are unlikely to fight it. */

/* Base typography for the whole feed column */
body.mpcirc-circle-page #mpcirc-main-content{
  font-family:"Hanken Grotesk",sans-serif;color:var(--oa-ink);
}

/* Plugin's "Discussion Board" hero heading: restyled as a brand page
   title (Newsreader, ink). If a .pagehead band is ever added at the top
   of the page, replace this whole hero block with:
   body.mpcirc-circle-page .mpcirc-main-hero{display:none;} */
body.mpcirc-circle-page .mpcirc-main-hero.no-image{
  background:transparent;padding:0;
}
body.mpcirc-circle-page .mpcirc-main-hero-heading{
  font-family:"Newsreader",serif;font-weight:600;font-size:32px;
  color:var(--oa-ink);margin:0 0 10px;
}

/* Toolbar: search field + sort dropdown */
body.mpcirc-circle-page .mpcirc-search-input{
  font-family:"Hanken Grotesk",sans-serif;font-size:14px;color:var(--oa-ink);
  background:#fff;border:1px solid var(--oa-line);border-radius:10px;
}
body.mpcirc-circle-page .mpcirc-search-input:focus{
  outline:none;border-color:var(--oa-blue);
  box-shadow:0 0 0 3px var(--oa-powder-soft);
}
body.mpcirc-circle-page .mpcirc-custom-dropdown{
  font-family:"Hanken Grotesk",sans-serif;font-size:14px;color:var(--oa-ink);
  background:#fff;border:1px solid var(--oa-line);border-radius:10px;
}
body.mpcirc-circle-page .mpcirc-dropdown-option{
  font-family:"Hanken Grotesk",sans-serif;font-size:14px;
}

/* Composer + post cards: brand card look */
body.mpcirc-circle-page .mpcirc-post-creation-form,
body.mpcirc-circle-page .mpcirc-latest-post{
  background:#fff;border:1px solid var(--oa-line);border-radius:14px;
  box-shadow:0 6px 18px rgba(38,56,69,.06);
}

/* Inputs (composer, comment, reply) */
body.mpcirc-circle-page .mpcirc-post-form-input,
body.mpcirc-circle-page .mpcirc-comment-form-input{
  font-family:"Hanken Grotesk",sans-serif;font-size:14px;color:var(--oa-ink);
  background:#fff;border:1px solid var(--oa-line);border-radius:10px;
}
body.mpcirc-circle-page .mpcirc-post-form-input:focus,
body.mpcirc-circle-page .mpcirc-comment-form-input:focus{
  outline:none;border-color:var(--oa-blue);
  box-shadow:0 0 0 3px var(--oa-powder-soft);
}

/* Buttons: Submit Post / Submit Comment / Submit Reply */
body.mpcirc-circle-page .mpcirc-post-form-submit-btn,
body.mpcirc-circle-page .mpcirc-form-comment-submit-btn,
body.mpcirc-circle-page .mpcirc-form-reply-submit-btn{
  font-family:"Hanken Grotesk",sans-serif;font-size:14px;font-weight:700;
  line-height:1;background:var(--oa-blue);color:#fff;border:0;
  border-radius:999px;padding:11px 20px;cursor:pointer;
  transition:background .15s ease;
}
body.mpcirc-circle-page .mpcirc-post-form-submit-btn:hover,
body.mpcirc-circle-page .mpcirc-form-comment-submit-btn:hover,
body.mpcirc-circle-page .mpcirc-form-reply-submit-btn:hover{
  background:var(--oa-blue-deep);
}
body.mpcirc-circle-page .mpcirc-post-form-submit-btn:disabled,
body.mpcirc-circle-page .mpcirc-form-comment-submit-btn:disabled,
body.mpcirc-circle-page .mpcirc-form-reply-submit-btn:disabled{
  background:var(--oa-line);color:var(--oa-muted);cursor:default;
}

/* Author lines */
body.mpcirc-circle-page .mpcirc-latest-post-author-name{
  font-family:"Hanken Grotesk",sans-serif;font-size:16px;font-weight:700;
  color:var(--oa-ink);margin:0;
}
/* Role labels (ADMINISTRATOR / MEMBER) hidden by decision (28 Jul 2026):
   the NETWORK tier pill is the only label shown next to names. The role
   still appears in the click-through author profile popover, where it has
   context. Restore by deleting the display:none rule. */
body.mpcirc-circle-page .mpcirc-latest-post-author-role{display:none;}
body.mpcirc-circle-page .mpcirc-comment-author-profile-role{
  font-size:11px;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;color:var(--oa-muted);
}
body.mpcirc-circle-page .mpcirc-comment-author-name-btn{
  font-family:"Hanken Grotesk",sans-serif;font-weight:700;color:var(--oa-ink);
}
body.mpcirc-circle-page .mpcirc-latest-post-date,
body.mpcirc-circle-page .mpcirc-comment-date{color:var(--oa-muted);}

/* Body text + links */
body.mpcirc-circle-page .mpcirc-post-content-text{
  font-size:15px;line-height:1.65;color:#3a4a57;
}
body.mpcirc-circle-page .mpcirc-comment-text{
  font-size:14px;line-height:1.6;color:#3a4a57;
}
body.mpcirc-circle-page .mpcirc-post-content-text a,
body.mpcirc-circle-page .mpcirc-comment-text a{color:var(--oa-blue);}

body.mpcirc-circle-page .mpcirc-read-more-toggle,
body.mpcirc-circle-page .mpcirc-load-all-comments-btn{
  font-size:13px;font-weight:700;color:var(--oa-blue);text-decoration:none;
}
body.mpcirc-circle-page .mpcirc-read-more-toggle:hover,
body.mpcirc-circle-page .mpcirc-load-all-comments-btn:hover{
  color:var(--oa-blue-deep);
}

/* Author profile popover buttons (See Posts / See Profile) */
body.mpcirc-circle-page .mpcirc-comment-author-profile-btn{
  font-family:"Hanken Grotesk",sans-serif;font-size:13px;font-weight:700;
  border-radius:999px;
}

/* ---- 3. Sidebar "Next event" panel ----------------------------------- */
/* Compact date line ([oa_next_event_date] in an inst-panel — the full
   .evc card breaks at sidebar width) */
.inst .inst-panel .oa-next-date{
  font-family:"Hanken Grotesk",sans-serif;font-size:16px;font-weight:700;
  color:var(--oa-ink);margin:6px 0 14px;
}

/* Mini event card rendered by [oa_next_event_card] (oa-discussion-boards.php).
   PARKED component awaiting a home (dashboard right column is the natural
   candidate). Purpose-built for narrow columns; the full .evc dashboard
   card breaks at sidebar width - do not swap it back in. */
.inst .inst-panel .oa-nx-img{
  width:100%;aspect-ratio:16/9;border-radius:10px;
  background-size:cover;background-position:center;
  background-color:var(--oa-powder-soft);
  margin:4px 0 12px;
}
.inst .inst-panel .oa-nx-date{
  font-family:"Hanken Grotesk",sans-serif;font-size:15px;font-weight:700;
  color:var(--oa-ink);margin:0 0 2px;
}
.inst .inst-panel .oa-nx-title{
  font-size:14px;line-height:1.45;color:var(--oa-muted);margin:0 0 2px;
}
.inst .inst-panel .oa-nx-time{
  font-size:13px;color:var(--oa-muted);margin:0 0 14px;
}
/* Title carries the bottom gap when no time_label is set */
.inst .inst-panel .oa-nx .oa-nx-title:last-child{margin-bottom:14px;}

/* ---- 4. Sort dropdown teal fix --------------------------------------- */
/* Recolour the plugin's teal (#1da69a) selected/hover state to brand blue.
   Selector mirrors the plugin's own (front.css) with .mpcirc-dropdown-options
   added for the extra specificity needed to win — inst.css loads BEFORE the
   plugin stylesheet, so equal specificity loses. */
body.mpcirc-circle-page{--wp--preset--color--primary:var(--oa-blue);}
body.mpcirc-circle-page #mpcirc-main-content .mpcirc-dropdown-options button.mpcirc-dropdown-option[aria-selected="true"],
body.mpcirc-circle-page #mpcirc-main-content .mpcirc-dropdown-options button.mpcirc-dropdown-option:hover{
  background-color:var(--oa-blue);color:#fff;
}

/* ---- 5. Short-viewport sticky fallback ------------------------------- */
/* The sidebar (profile box + Next event) can be taller than the screen, so
   a stuck column clips its bottom out of reach. Below this height, fall
   back to normal document scrolling — everything reachable, stickiness
   only on screens tall enough to afford it. */
@media (max-height: 860px){
  .oa-community-layout__sidebar,
  .oa-community-layout .wp-block-column.oa-community-layout__sidebar{
    position:static !important;
  }
}
/* ==================== end Discussion Board section ==================== */

/* ============================================================
   23. Header account avatar dropdown ([oa_account_menu])
   NEW 04 Aug 2026. Replaces the Secondary Navigation
   Account / Log Out pills (the #secondary-navigation rules in
   section 5 become inert once that element leaves the header;
   kept as a safety net for now).
   Header is theme chrome OUTSIDE the .inst scope — rules are
   deliberately NOT .inst-prefixed (same as section 5).
   Once live, .oa-hchip (section 5 + two rules in the 768px
   media query) is retirable — this component supersedes it.
   ============================================================ */

.oa-acct{position:relative;display:inline-flex;align-items:center;}

/* the avatar button — border/hover matches the old .oa-hchip convention */
.oa-acct-btn{
  width:52px;height:52px;border-radius:50%;
  padding:0;margin:0;cursor:pointer;
  border:2px solid var(--oa-ink);
  background:var(--oa-ink);overflow:hidden;
  display:grid;place-items:center;
  transition:border-color .14s;
}
.oa-acct-btn:hover{border-color:var(--oa-blue);}
.oa-acct-btn:focus-visible{
  outline:3px solid rgba(47,106,255,.38);
  outline-offset:2px;
  border-color:var(--oa-blue);
}
.oa-acct-btn img{width:100%;height:100%;object-fit:cover;display:block;}
.oa-acct-init{
  width:100%;height:100%;
  display:grid;place-items:center;
  font:700 17px/1 var(--sans);
  color:#fff;letter-spacing:.02em;
}

/* the dropdown */
.oa-acct-menu{
  position:absolute;top:calc(100% + 10px);right:0;
  min-width:240px;background:#fff;
  border:1px solid var(--oa-line);border-radius:14px;
  box-shadow:0 14px 34px rgba(38,56,69,.16);
  padding:8px;display:none;z-index:9999;
}
.oa-acct.open .oa-acct-menu{display:block;}

.oa-acct-who{padding:10px 12px 12px;border-bottom:1px solid var(--oa-line);margin-bottom:6px;}
.oa-acct-who .n{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:700 15px/1.25 var(--sans);color:var(--oa-ink);}
.oa-acct-who .e{display:block;font:500 12px/1.4 var(--sans);color:var(--oa-muted);margin-top:2px;word-break:break-all;}

/* tier pill next to the name (rendered by oa_acct_tier() in the PHP) —
   another deliberate page-scoped copy of the pill look (directory,
   profile, events rows, Circles feed are the others); keep values in
   step. Both tiers show here because it is the member's OWN menu (the
   feed-only ALUMNI suppression is about crowd noise, which does not
   apply to a personal menu). To go NETWORK-only, add:
   .oa-acct-who .oa-tier-alumni{display:none;} */
.oa-acct-who .oa-tier{
  display:inline-flex;align-items:center;
  padding:3px 8px;border-radius:999px;
  font:800 10px/1 var(--sans);letter-spacing:.06em;
  text-transform:uppercase;white-space:nowrap;
}
.oa-acct-who .oa-tier-alumni{background:var(--oa-powder-soft);color:var(--oa-blue);}
.oa-acct-who .oa-tier-network{background:var(--oa-ink);color:#fff;}

.oa-acct-menu a.mi{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:10px;
  font:600 14px/1 var(--sans);
  color:var(--oa-ink);text-decoration:none;
}
.oa-acct-menu a.mi svg{flex:0 0 auto;color:var(--oa-blue);}
.oa-acct-menu a.mi:hover{background:#f5f8ff;color:var(--oa-blue);}
.oa-acct-menu a.mi:focus-visible{
  background:#f5f8ff;color:var(--oa-blue);
  outline:3px solid rgba(47,106,255,.3);outline-offset:-3px;
}
.oa-acct-menu a.mi.logout{color:#b42318;}
.oa-acct-menu a.mi.logout svg{color:#b42318;}
.oa-acct-menu a.mi.logout:hover,
.oa-acct-menu a.mi.logout:focus-visible{background:#fff0ee;color:#b42318;}

/* mobile header row: slightly smaller avatar beside the hamburger */
@media (max-width:768px){
  .oa-acct-btn{width:40px;height:40px;}
  .oa-acct-init{font-size:14px;}
}

/* logged-out fallback link (rarely seen while Coming Soon is on) */
a.oa-acct-login{
  font:600 15px/1 var(--sans);
  color:var(--oa-blue);text-decoration:none;
}
a.oa-acct-login:hover{color:var(--oa-blue-deep);}