:root {
  --md-primary-fg-color: #123f4b;
  --md-primary-fg-color--light: #236372;
  --md-primary-fg-color--dark: #0c2f39;
  --md-accent-fg-color: #d88943;
}

[data-md-color-scheme="default"] {
  --md-default-bg-color: #f7fafb;
  --md-typeset-a-color: #176476;
  --md-code-bg-color: #edf3f5;
}

body { font-family: Inter, "Segoe UI", system-ui, -apple-system, sans-serif; }
.md-header { background: linear-gradient(105deg, #123f4b, #1e5963); }
.md-tabs { background: #1b505b; }
.md-main__inner { margin-top: 1.1rem; }
.md-content__inner { max-width: 940px; padding-bottom: 3rem; }
.md-typeset h1 { color: #123f4b; font-weight: 760; letter-spacing: -.025em; }
.md-typeset h2 { margin-top: 2.2rem; padding-bottom: .35rem; border-bottom: 1px solid #dce7ea; color: #194b56; }
.md-typeset table:not([class]) { display: table; width: 100%; border: 1px solid #d9e4e7; border-radius: 10px; overflow: hidden; font-size: .82rem; }
.md-typeset table:not([class]) th { background: #eaf2f4; color: #173f49; }
.md-typeset table:not([class]) tr:nth-child(even) { background: #f5f9fa; }
.md-typeset img.wide-figure { display: block; width: min(100%, 1050px); margin: 1.5rem auto 1rem; border: 1px solid #dbe5e8; border-radius: 14px; background: #fff; box-shadow: 0 8px 26px rgba(24, 64, 75, .08); }
.hero-actions { display: flex; gap: .7rem; flex-wrap: wrap; margin: 1rem 0 1.35rem; }
.card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; margin: 1rem 0 1.5rem; }
.info-card { display: flex; flex-direction: column; gap: .35rem; min-height: 125px; padding: 1rem 1.1rem; color: #173842 !important; text-decoration: none !important; background: #fff; border: 1px solid #dce7e9; border-radius: 14px; box-shadow: 0 4px 16px rgba(24, 64, 75, .045); transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.info-card:hover { transform: translateY(-2px); border-color: #8ab3bb; box-shadow: 0 10px 24px rgba(24, 64, 75, .11); }
.info-card strong { color: #164d59; font-size: 1.04rem; }
.info-card > span:last-child { color: #536d75; font-size: .82rem; line-height: 1.45; }
.card-kicker { color: #bd6d2c; font-size: .67rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.md-typeset .admonition { border-radius: 11px; box-shadow: 0 3px 14px rgba(24, 64, 75, .04); }
.md-typeset blockquote { border-left-color: #d88943; color: #31535c; }
.md-footer { background: #123f4b; }

@media (max-width: 700px) {
  .card-grid { grid-template-columns: 1fr; }
  .info-card { min-height: 0; }
  .md-content__inner { padding-inline: .2rem; }
  .md-typeset table:not([class]) { font-size: .72rem; }
}

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

/* Community activity photographs retain their full frame. */
.md-typeset img.hp-photo { display: block; max-height: 640px; width: auto; max-width: 100%; margin: 1.25rem auto .7rem; border-radius: 10px; border: 1px solid #dce7e9; }
.hp-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 1.2rem 0 .6rem; align-items: start; }
.hp-gallery img { width: 100%; height: auto; border-radius: 10px; border: 1px solid #dce7e9; }
.hp-gallery img:only-child { grid-column: 1 / -1; max-width: 640px; justify-self: center; }
@media (max-width: 600px) { .hp-gallery { grid-template-columns: 1fr; } }

/* Full source records and accessible member cards. */
.team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; align-items:start; margin:1rem 0 2rem; }
.md-typeset .person-card { margin:0; padding:0; border:1px solid #dce7e9; border-radius:12px; background:white; box-shadow:none; overflow:hidden; font-size:.8rem; }
.md-typeset .person-card summary { margin:0; padding:0 0 .8rem; background:white; cursor:pointer; list-style:none; }
.md-typeset .person-card summary::before,.md-typeset .person-card summary::after { display:none; }
.person-card summary::-webkit-details-marker { display:none; }
.person-card summary:focus-visible { outline:3px solid #d88943; outline-offset:-3px; }
.person-card summary img { display:block; width:100%; aspect-ratio:1; object-fit:contain; background:#edf3f5; margin:0 0 .6rem; }
.person-name,.person-role,.person-hint { display:block; padding:0 .8rem; }
.person-name { font-weight:750; color:#164d59; font-size:1rem; }
.person-role { color:#536d75; }
.person-hint { font-size:.65rem; color:#94602c; padding-top:.4rem; }
.person-detail { padding:.8rem; border-top:1px solid #dce7e9; }
.person-detail img { width:100%; max-height:350px; object-fit:contain; }
.person-detail p { margin:.7rem 0 0; }
.report-table { overflow-x:auto; margin:1.2rem 0; max-width:100%; }
.md-typeset .report-table table { min-width:580px; font-size:.76rem; }
.report-photo { display:block; max-width:100%; height:auto; max-height:700px; object-fit:contain; margin:1rem auto; }
@media(max-width:800px) { .team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:430px) { .team-grid { grid-template-columns:1fr; } }
