/* Inner-page additions on top of main.css. Loaded on every page. */

/* editor-authored content inherits the prose scale */
.lp-content > *:first-child{margin-top:0}
.lp-content ul:not(.slinks):not(.rp-need){list-style:none;margin:6px 0 26px;display:flex;flex-direction:column;gap:13px}
.lp-content ul:not(.slinks):not(.rp-need) li{position:relative;padding-left:30px;color:var(--muted);font-size:16px;line-height:1.6;font-weight:450}
.lp-content ul:not(.slinks):not(.rp-need) li::before{content:"";position:absolute;left:6px;top:.62em;width:7px;height:7px;border-radius:999px;background:var(--gold);opacity:.85}
.lp-content ol{margin:6px 0 26px 20px;color:var(--muted);display:flex;flex-direction:column;gap:10px}
.lp-content img{border-radius:16px;margin:24px 0}
.lp-content figure{margin:28px 0}
.lp-content figcaption{font-size:13px;color:var(--faint);margin-top:10px}
.lp-content blockquote{border-left:2px solid var(--gold);padding:6px 0 6px 22px;margin:28px 0;font-size:19px;color:var(--text);font-style:normal}
.lp-content table{width:100%;border-collapse:collapse;margin:26px 0;font-size:15px}
.lp-content th,.lp-content td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line-soft);color:var(--muted)}
.lp-content th{color:var(--text);font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.lp-content .wp-block-table{overflow-x:auto}

/* post cards get an optional image */
.rcard-pic{border-radius:14px;overflow:hidden;margin:-6px 0 14px;aspect-ratio:16/10;border:1px solid var(--line-soft)}
.rcard-pic img{width:100%;height:100%;object-fit:cover}

/* pagination */
.pagination{margin-top:46px;display:flex;justify-content:center}
.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pagination .page-numbers{display:grid;place-items:center;min-width:44px;height:44px;padding:0 12px;
  border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:14.5px;transition:all .25s}
.pagination .page-numbers:hover{border-color:var(--gold);color:var(--gold-2)}
.pagination .page-numbers.current{background:var(--gold);border-color:var(--gold);color:#191307;font-weight:600}

/* WordPress alignment classes */
.alignwide{max-width:min(1100px,100%)}
.alignfull{max-width:none;width:100%}
.aligncenter{margin-left:auto;margin-right:auto;display:block}
.alignleft{float:left;margin:6px 26px 20px 0;max-width:50%}
.alignright{float:right;margin:6px 0 20px 26px;max-width:50%}
@media(max-width:700px){.alignleft,.alignright{float:none;margin:20px 0;max-width:100%}}

/* admin bar must not hide the fixed nav */
body.admin-bar header.nav{top:calc(8px + 32px)}
@media(max-width:782px){body.admin-bar header.nav{top:calc(8px + 46px)}}

/* menus render as <ul>, the design expected bare <a> */
.navlinks-ul{list-style:none;display:flex;gap:34px;margin:0;padding:0;align-items:center}
.navlinks .navlinks-ul > li{position:relative}
.navlinks .navlinks-ul a{color:var(--muted);font-size:14.5px;font-weight:450;transition:color .2s}
.navlinks .navlinks-ul a:hover,.navlinks .navlinks-ul .current-menu-item > a{color:var(--text)}
.navlinks .navlinks-ul .sub-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(-6px);
  min-width:250px;margin-top:22px;padding:10px;list-style:none;border-radius:20px;
  background:rgba(11,11,12,.94);backdrop-filter:blur(24px) saturate(1.2);border:1px solid var(--line);
  box-shadow:0 40px 84px -46px rgba(0,0,0,.95);opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .24s var(--ease),transform .24s var(--ease),visibility .24s}
.navlinks .navlinks-ul > li:hover > .sub-menu,
.navlinks .navlinks-ul > li:focus-within > .sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.navlinks .sub-menu a{display:block;padding:11px 14px;border-radius:12px;font-size:14px;transition:background .2s,color .2s}
.navlinks .sub-menu a:hover{background:rgba(244,241,234,.055);color:var(--gold-2)}
.navlinks .navlinks-ul > li.menu-item-has-children > a::after{content:"";display:inline-block;margin-left:7px;
  width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;
  transform:rotate(45deg) translateY(-2px);opacity:.7}

/* mobile menu list */
.mobile .navlinks-ul{display:block;list-style:none;margin:0;padding:0}
.mobile .navlinks-ul li{display:block}
.mobile .navlinks-ul a{display:flex;align-items:center;min-height:48px;padding:12px 0;font-size:18px;
  border-bottom:1px solid var(--line-soft);color:var(--text)}
.mobile .navlinks-ul .sub-menu{list-style:none;margin:0;padding:0 0 0 16px}
.mobile .navlinks-ul .sub-menu a{font-size:15.5px;color:var(--muted);min-height:44px}

/* footer nav from a WordPress menu */
footer .fcol ul.menu{list-style:none;display:flex;flex-direction:column;gap:11px;margin:0;padding:0}

/* ============================================================
   TEAM
   ============================================================ */
.team{padding:var(--sp) 0}
.team-wider{padding:var(--sp) 0;background:var(--bg-2);border-top:1px solid var(--line-soft)}
.team-head{max-width:620px;margin-bottom:52px}
.team-head h2{font-size:clamp(28px,3.8vw,46px);font-weight:600;letter-spacing:-.036em;margin-bottom:16px}
.team-head p{color:var(--muted);font-size:17px;line-height:1.6;font-weight:450}

/* the grid itself */
.tgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:1100px){.tgrid{grid-template-columns:repeat(3,1fr);gap:15px}}
@media(max-width:760px){.tgrid{grid-template-columns:repeat(2,1fr);gap:10px}}

/* ------------------------------------------------------------------
   Photo cards. The name panel is hidden at rest and slides up from
   below the card on hover, fading in, with the name and role staggered
   in behind it. Mechanism matched to j2.net/team, retimed and recoloured
   for this palette.
   ------------------------------------------------------------------ */
.tmem{position:relative;display:block;border-radius:15px;overflow:hidden;
  background:var(--bg-3)}
.tmem-pic{position:relative;z-index:1;aspect-ratio:4/5;width:100%;display:grid;place-items:center}
.tmem-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tmem-init{position:relative;z-index:1;font-size:clamp(28px,3vw,38px);font-weight:600;
  letter-spacing:-.02em;color:var(--gold-2);opacity:.45}

.tmem-card{position:absolute;z-index:2;left:8px;right:8px;bottom:8px;
  padding:18px;border-radius:15px;overflow:hidden;
  border:1px solid rgba(244,241,234,.16);
  background:rgba(16,16,17,.70);
  -webkit-backdrop-filter:blur(15px);
  backdrop-filter:blur(15px);
  opacity:0;transform:translateY(calc(100% + 8px));
  transition:opacity .4s var(--ease),transform .4s var(--ease)}

.tmem-card h3{margin:0;font-size:19px;font-weight:600;letter-spacing:-.022em;line-height:1.26;
  color:#fff;opacity:0;transform:translateY(6px);
  transition:opacity .4s var(--ease),transform .4s var(--ease)}
.tmem-card .tmem-role{margin:6px 0 0;font-size:11.5px;font-weight:500;line-height:1.3;
  text-transform:uppercase;color:rgba(244,241,234,.58);
  font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  opacity:0;transform:translateY(6px);
  transition:opacity .4s var(--ease),transform .4s var(--ease)}

.tmem:hover .tmem-card,
.tmem:focus-within .tmem-card,
.tmem:hover .tmem-card h3,
.tmem:focus-within .tmem-card h3,
.tmem:hover .tmem-card .tmem-role,
.tmem:focus-within .tmem-card .tmem-role{opacity:1;transform:translateY(0)}
.tmem:hover .tmem-card h3,
.tmem:focus-within .tmem-card h3{transition-delay:.2s}
.tmem:hover .tmem-card .tmem-role,
.tmem:focus-within .tmem-card .tmem-role{transition-delay:.25s}

/* Touch devices have no hover, so the panel would never appear. Show it
   permanently there, with a gradient floor to keep it legible. This is a
   deliberate departure from the reference, which hides names on a phone. */
@media(hover:none),(pointer:coarse){
  .tmem-pic::after{content:"";position:absolute;left:0;right:0;bottom:0;height:55%;z-index:1;
    pointer-events:none;background:linear-gradient(to top,rgba(6,6,6,.55),transparent)}
  .tmem-card,.tmem-card h3,.tmem-card .tmem-role{opacity:1;transform:none;transition:none}
}

@media(max-width:760px){
  .tmem-card{left:6px;right:6px;bottom:6px;padding:13px;border-radius:13px}
  .tmem-card h3{font-size:15px;letter-spacing:-.024em}
  .tmem-card .tmem-role{margin-top:5px;font-size:9.5px}
}
@media(max-width:430px){
  .tmem-card{padding:11px;border-radius:12px}
  .tmem-card h3{font-size:13.5px;line-height:1.22}
  .tmem-card .tmem-role{font-size:8.5px}
}

@media(prefers-reduced-motion:reduce){
  .tmem-card,.tmem-card h3,.tmem-card .tmem-role{transition:none}
}

/* wider team list */
.tlist{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px;margin:0;padding:0}
@media(max-width:860px){.tlist{grid-template-columns:repeat(2,1fr);gap:0 28px}}
@media(max-width:560px){.tlist{grid-template-columns:1fr}}
.tlist li{display:flex;flex-direction:column;gap:2px;padding:16px 0;
  border-bottom:1px solid var(--line-soft)}
.tlist li b{font-size:16px;font-weight:600;letter-spacing:-.018em;color:var(--text)}
.tlist li i{font-style:normal;font-size:13.5px;color:var(--faint);line-height:1.4}
