:root{--bg:#0d1117;--surface:#161b22;--surface-hover:#202938;--text:#f0f6fc;--muted:#8b949e;--accent:#a371f7;--accent-light:#bc8cff;--teal:#39d0c8;--green:#56d364;--border:#30363d;--shadow:rgba(0,0,0,.4)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{min-height:100vh;padding:24px;color:var(--text);background:radial-gradient(circle at top left,#2d1b69 0%,transparent 35%),radial-gradient(circle at bottom right,#123c4a 0%,transparent 35%),var(--bg);font-family:Arial,Helvetica,sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none!important}
a:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
h1,h2,h3{line-height:1.15}
p{line-height:1.7}
.eyebrow{margin-bottom:18px;color:var(--accent-light);font-size:.82rem;font-weight:bold;letter-spacing:.14em;text-transform:uppercase}
.inline-link{color:var(--accent-light)}
.inline-link:hover{text-decoration:underline!important}
.navigation{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:28px;border-bottom:1px solid var(--border)}
.logo{color:var(--text);font-size:1.2rem;font-weight:bold;white-space:nowrap}
.logo:hover{color:var(--accent-light)}
.nav-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:20px}
.nav-links a{color:var(--muted);font-size:.92rem}
.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--text)}
.button{display:inline-block;margin:4px 8px 4px 0;padding:14px 24px;color:#fff;background:var(--accent);border:1px solid transparent;border-radius:10px;font-weight:bold;transition:.2s}
.button:hover{color:#fff;background:var(--accent-light);transform:translateY(-2px)}
.button-secondary{color:var(--text);background:transparent;border-color:var(--accent)}
.button-secondary:hover{background:var(--accent)}
.home-page,.about-layout,.contact-layout,.other-layout,.project-layout,.resume-layout{width:100%;max-width:1100px;min-height:calc(100vh - 48px);margin:auto;padding:32px}
.welcome-card{width:100%;max-width:760px;min-height:calc(100vh - 48px);margin:auto;padding:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(22,27,34,.9);border:1px solid var(--border);border-radius:20px;box-shadow:0 20px 60px var(--shadow)}
.welcome-navigation{width:100%;margin-bottom:48px}
.symbol{width:76px;height:76px;margin-bottom:24px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--accent),var(--teal));border-radius:50%;font-size:34px;font-weight:bold}
.welcome-card h1{margin-bottom:16px;font-size:clamp(2.8rem,8vw,5rem)}
.tagline{margin-bottom:24px;color:var(--accent-light);font-size:1.25rem}
.description{max-width:560px;margin-bottom:32px;color:var(--muted)}
.hero{max-width:850px;padding:115px 0 100px}
.hero h1{margin-bottom:24px;font-size:clamp(3rem,8vw,6rem)}
.hero-text{max-width:680px;margin-bottom:32px;color:var(--muted);font-size:1.2rem}
.content-section,.resume-section{max-width:950px;padding:70px 0;border-top:1px solid var(--border)}
.content-section h2,.resume-section h2{margin-bottom:28px;font-size:2.2rem}
.content-section>p,.resume-section>p{max-width:800px;color:var(--muted)}
.content-section>p+p,.resume-section>p+p{margin-top:18px}
.contact-grid,.other-grid,.principle-grid,.resume-grid{display:grid;gap:20px;margin-top:34px}
.contact-grid{grid-template-columns:repeat(3,1fr)}
.contact-card,.principle-card,.other-card,.resume-card{padding:28px;background:rgba(22,27,34,.86);border:1px solid var(--border);border-radius:18px;transition:.2s}
.contact-card{min-height:230px}
.contact-card:hover,.principle-card:hover,.other-card:hover,.resume-card:hover{background:var(--surface-hover);border-color:var(--accent);transform:translateY(-4px)}
a.contact-card,a.contact-card *,a.contact-card:hover,a.contact-card:hover *{color:inherit;text-decoration:none!important}
.contact-card-main{background:linear-gradient(145deg,rgba(163,113,247,.18),var(--surface))}
.contact-icon{width:48px;height:48px;margin-bottom:24px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--accent),var(--teal));border-radius:12px;font-size:1.3rem;font-weight:bold}
.contact-card h2,.principle-card h3,.other-card h2,.resume-card h3{margin-bottom:12px}
.contact-card p,.principle-card p,.other-card p,.resume-card p{color:var(--muted)}
.card-link{display:block;margin-top:22px;color:var(--accent-light)!important;font-weight:bold;text-decoration:none!important}
.contact-card:hover .card-link{color:var(--teal)!important}
.site-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.site-links a{min-height:150px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:14px;transition:.2s}
.site-links a:hover{background:var(--surface-hover);border-color:var(--accent);transform:translateY(-3px)}
.site-links span,.other-number,.principle-card span{color:var(--teal);font-size:.84rem;font-weight:bold}
.site-links small{color:var(--muted)}
.about-header,.other-header,.contact-header,.project-header,.resume-header{padding:115px 0 85px}
.about-header,.project-header,.resume-header{max-width:950px}
.about-header h1,.other-header h1,.contact-header h1,.project-header h1,.resume-header h1{max-width:900px;margin-bottom:26px;font-size:clamp(3rem,8vw,6rem)}
.about-header p:last-child,.other-header p:last-child,.contact-header p:last-child,.project-header p:last-child{max-width:680px;color:var(--muted);font-size:1.15rem}
.about-introduction,.project-section{display:grid;grid-template-columns:220px 1fr;gap:55px;max-width:950px;padding:70px 0;border-top:1px solid var(--border)}
.about-label,.project-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.about-label span,.project-label span{color:var(--teal);font-weight:bold}
.about-label p,.project-label p{margin-top:8px;font-size:.85rem}
.about-text h2,.project-content h2{margin-bottom:20px;font-size:2.2rem}
.about-text p,.project-content p{max-width:720px;color:var(--muted)}
.about-text p+p,.project-content p+p{margin-top:18px}
.principle-grid,.resume-grid{grid-template-columns:repeat(2,1fr)}
.principle-card{min-height:175px}
.principle-card h3{margin-top:28px}
.about-status,.project-status,.project-introduction,.other-introduction{max-width:950px;margin-top:50px;padding:42px;background:rgba(22,27,34,.7);border:1px solid var(--border);border-radius:18px}
.about-status h2,.project-status h2,.project-introduction h2,.other-introduction h2{margin:18px 0;font-size:2rem}
.about-status p:last-child,.project-status p:last-child,.project-introduction p,.other-introduction p{max-width:760px;color:var(--muted)}
.workstate-card{max-width:700px;margin-top:30px;padding:20px;display:flex;gap:18px;background:rgba(13,17,23,.65);border:1px solid var(--border);border-radius:14px}
.workstate-card p{color:var(--muted);font-size:.92rem}
.project-principles,.project-navigation{max-width:950px;padding:70px 0 0}
.project-principles h2,.project-navigation h2{margin-bottom:24px;font-size:2.2rem}
.other-header,.contact-header{text-align:center}
.other-header p:last-child,.contact-header p:last-child{margin:auto}
.other-introduction{margin:0 auto 60px}
.other-grid{grid-template-columns:repeat(3,1fr);max-width:1000px;margin:auto}
.other-card{min-height:280px;display:flex;flex-direction:column}
.other-card h2{margin-top:auto}
.other-arrow{color:var(--accent-light);font-weight:bold}
.contact-layout .contact-grid{grid-template-columns:repeat(2,1fr);max-width:900px;margin:auto}
.contact-address{margin-top:22px;color:var(--accent-light)!important;font-size:.9rem!important;overflow-wrap:anywhere}
.contact-instructions{max-width:900px;margin:70px auto 0;padding:34px;background:rgba(22,27,34,.7);border:1px solid var(--border);border-radius:16px}
.contact-instructions h2{margin:16px 0}
.contact-instructions ol{padding-left:24px;color:var(--muted)}
.privacy-note{margin-top:22px;font-size:.9rem;font-style:italic}
.resume-title{margin-bottom:28px;color:var(--accent-light);font-size:1.2rem;font-weight:bold}
.resume-intro{max-width:760px;margin-bottom:32px;color:var(--muted);font-size:1.15rem}
.resume-card{min-height:260px}
.resume-card h3{font-size:1.35rem}
.resume-card ul{padding-left:20px;color:var(--muted)}
.resume-card li{margin-bottom:7px}
.resume-entry{max-width:900px;margin-bottom:24px;padding:30px 34px 32px;border-left:3px solid var(--accent);border-radius:0 16px 16px 0;background:rgba(22,27,34,.72)}
.resume-date{margin-bottom:12px;color:var(--teal)!important;font-size:.85rem!important;font-weight:bold;letter-spacing:.08em;text-transform:uppercase}
.resume-entry h3{margin-bottom:7px;font-size:1.45rem}
.resume-company{margin-bottom:18px;color:var(--accent-light)!important;font-weight:bold}
.resume-quote{max-width:760px;margin-top:30px;padding:24px 28px;color:var(--accent-light);background:rgba(163,113,247,.14);border:1px solid var(--border);border-radius:14px;font-size:1.1rem}
.resume-language-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:700px}
.resume-language-grid div{padding:24px;display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:14px}
.resume-language-grid span{color:var(--muted)}
.resume-actions{max-width:950px;padding:50px 0 0;border-top:1px solid var(--border)}
footer{margin-top:70px;padding-top:42px;border-top:1px solid var(--border);color:var(--muted);font-size:.85rem}
.status-dot{display:inline-block;width:10px;height:10px;background:var(--green);border-radius:50%;box-shadow:0 0 12px var(--green);animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.4;transform:scale(.8)}}
@media(max-width:800px){.contact-grid,.other-grid{grid-template-columns:repeat(2,1fr)}.about-introduction,.project-section{grid-template-columns:160px 1fr;gap:30px}}
@media(max-width:600px){body{padding:12px}.home-page,.about-layout,.contact-layout,.other-layout,.project-layout,.resume-layout{min-height:calc(100vh - 24px);padding:24px}.navigation{align-items:flex-start;flex-direction:column}.nav-links{justify-content:flex-start;gap:14px}.welcome-card{min-height:calc(100vh - 24px);padding:28px 20px}.welcome-status,.contact-grid,.contact-layout .contact-grid,.other-grid,.principle-grid,.resume-grid,.resume-language-grid,.site-links{grid-template-columns:1fr}.hero{padding:80px 0 65px}.about-header,.other-header,.contact-header,.project-header,.resume-header{padding:80px 0 55px;text-align:left}.about-header h1,.other-header h1,.contact-header h1,.project-header h1,.resume-header h1{font-size:clamp(2.6rem,13vw,4.5rem)}.about-introduction,.project-section{display:block;padding:52px 0}.about-label,.project-label{margin-bottom:28px}.about-text h2,.project-content h2{font-size:1.8rem}.about-status,.project-status,.project-introduction,.other-introduction,.contact-instructions{padding:28px}.resume-section{padding:52px 0}.resume-entry{padding:24px 22px 26px}.resume-entry h3{font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.contact-layout .schedule-card {
  position: relative;
  z-index: 2;
  display: block;
  clear: both;
  width: 100%;
  max-width: 1036px;
  min-height: auto;
  margin: 4rem auto 60px;
  padding: 28px;
  box-sizing: border-box;
  background: rgba(22, 27, 34, 0.86);
  border: 1px solid var(--border);
  border-radius: 18px;
  transform: none;
}

.contact-layout .schedule-card:hover {
  background: var(--surface-hover);
  border-color: var(--accent);
  transform: none;
}

.contact-layout .schedule-card .contact-icon {
  margin-bottom: 24px;
}

.contact-layout .schedule-card .eyebrow {
  margin-bottom: 18px;
}

.contact-layout .schedule-card h2 {
  margin-bottom: 12px;
}

.contact-layout .schedule-card p:not(.eyebrow) {
  max-width: 760px;
  color: var(--muted);
}

.contact-layout .contact-instructions {
  position: relative;
  z-index: 1;
  clear: both;
  margin-top: 4rem;
}

@media (max-width: 600px) {
  .contact-layout .schedule-card {
    width: 100%;
    margin-top: 3rem;
    padding: 24px;
  }
}
.contact-layout .schedule-card {
  width: 100%;
  max-width: 900px;
  margin: 4rem auto 60px;
  padding: 28px;
  box-sizing: border-box;
  background: rgba(22, 27, 34, 0.86);
  border: 1px solid var(--border);
  border-radius: 18px;
}

.contact-layout .schedule-card:hover {
  background: var(--surface-hover);
  border-color: var(--accent);
  transform: none;
}

@media (max-width: 600px) {
  .contact-layout .schedule-card {
    width: 100%;
    max-width: 100%;
    margin-top: 3rem;
    padding: 24px;
  }
}
/* =================================
   Donation QR code
================================= */

.donation-qr {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1000;

  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;

  width: 112px;
  padding: 10px;

  color: var(--text);
  background: rgba(22, 27, 34, 0.95);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 10px 30px var(--shadow);

  text-decoration: none;
  backdrop-filter: blur(8px);

  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    background 0.2s ease;
}

.donation-qr:hover {
  transform: translateY(-4px);
  background: var(--surface-hover);
  border-color: var(--accent);
}

.donation-qr:focus-visible {
  outline: 3px solid var(--teal);
  outline-offset: 4px;
}

.donation-qr img {
  display: block;
  width: 88px;
  height: 88px;

  padding: 4px;
  background: #ffffff;
  border-radius: 6px;
}

.donation-qr span {
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.2;
  text-align: center;
}

@media (max-width: 600px) {
  .donation-qr {
    right: 12px;
    bottom: 12px;
    width: 92px;
    padding: 7px;
  }

  .donation-qr img {
    width: 70px;
    height: 70px;
  }

  .donation-qr span {
    font-size: 0.65rem;
  }
}
.project-page {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}

.project-page .project-hero {
  max-width: 950px;
  margin: 0 auto;
  padding: 90px 0 80px;
}

.project-page .content-section,
.project-page .sources-section {
  width: 100%;
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
}

.project-page .content-section > p,
.project-page .sources-section > p {
  max-width: 800px;
}

.project-page .table-of-contents,
.project-page .research-panel,
.project-page .card-grid,
.project-page .comparison-grid,
.project-page .platform-table-wrap,
.project-page .source-list {
  width: 100%;
}

.project-page .table-of-contents {
  margin-top: 32px;
}

.project-page .project-footer {
  max-width: 950px;
  margin: 0 auto;
}
.project-page {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}

.project-page .content-section {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
}
/* =================================
   Shadowban / research page
================================= */

.project-page {
  width: 100%;
  max-width: 1100px;
  min-height: calc(100vh - 48px);
  margin: 0 auto;
  padding: 32px;
}

.project-page .project-hero {
  max-width: 950px;
  margin: 0 auto;
  padding: 90px 0 80px;
}

.project-page .project-hero h1 {
  margin-bottom: 22px;
  font-size: clamp(3rem, 8vw, 6rem);
}

.project-page .project-hero .hero-text {
  max-width: 760px;
  margin-bottom: 28px;
  color: var(--accent-light);
  font-size: 1.3rem;
}

.project-page .project-intro {
  max-width: 800px;
  margin-top: 18px;
  color: var(--muted);
  font-size: 1.05rem;
}

.project-page .status-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.project-page .status-badge {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 8px 13px;
  color: var(--muted);
  background: rgba(22, 27, 34, 0.75);
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 0.84rem;
}

.project-page .content-section,
.project-page .sources-section {
  width: 100%;
  max-width: 950px;
  margin: 0 auto;
  padding: 70px 0;
  border-top: 1px solid var(--border);
}

.project-page .content-section h2,
.project-page .sources-section h2 {
  margin-bottom: 28px;
  font-size: 2.2rem;
}

.project-page .content-section h3,
.project-page .sources-section h3 {
  margin: 34px 0 16px;
  font-size: 1.35rem;
}

.project-page .content-section > p,
.project-page .sources-section > p {
  max-width: 800px;
  color: var(--muted);
}

.project-page .content-section > p + p,
.project-page .sources-section > p + p {
  margin-top: 18px;
}

.project-page .table-of-contents {
  max-width: 760px;
  margin-top: 30px;
  padding: 24px 28px;
  background: rgba(22, 27, 34, 0.72);
  border: 1px solid var(--border);
  border-radius: 16px;
}

.project-page .table-of-contents ol {
  padding-left: 22px;
  color: var(--muted);
}

.project-page .table-of-contents li {
  margin: 8px 0;
}

.project-page .table-of-contents a {
  color: var(--accent-light);
}

.project-page .table-of-contents a:hover {
  color: var(--teal);
}

.project-page .large-list {
  max-width: 800px;
  margin: 22px 0;
  padding-left: 24px;
  color: var(--muted);
}

.project-page .large-list li {
  margin-bottom: 10px;
}

.project-page .numbered-list {
  padding-left: 28px;
}

.project-page .card-grid,
.project-page .platform-grid,
.project-page .comparison-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 32px;
}

.project-page .info-card,
.project-page .platform-card,
.project-page .comparison-card {
  padding: 28px;
  background: rgba(22, 27, 34, 0.86);
  border: 1px solid var(--border);
  border-radius: 18px;
}

.project-page .info-card:hover,
.project-page .platform-card:hover,
.project-page .comparison-card:hover {
  background: var(--surface-hover);
  border-color: var(--accent);
}

.project-page .info-card h3,
.project-page .platform-card h3,
.project-page .comparison-card h3 {
  margin: 0 0 14px;
  color: var(--text);
  font-size: 1.2rem;
}

.project-page .info-card p,
.project-page .platform-card p,
.project-page .comparison-card p {
  color: var(--muted);
}

.project-page .platform-card ul,
.project-page .comparison-card ul {
  margin: 18px 0;
  padding-left: 20px;
  color: var(--muted);
}

.project-page .platform-card li,
.project-page .comparison-card li {
  margin-bottom: 8px;
}

.project-page .research-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 32px 0;
  overflow: hidden;
  background: var(--border);
  border: 1px solid var(--border);
  border-radius: 18px;
}

.project-page .research-step {
  min-height: 150px;
  padding: 24px;
  background: rgba(22, 27, 34, 0.94);
}

.project-page .research-step > span {
  display: block;
  margin-bottom: 14px;
  color: var(--teal);
  font-size: 0.85rem;
  font-weight: bold;
}

.project-page .research-step strong {
  display: block;
  margin-bottom: 8px;
  color: var(--text);
}

.project-page .research-step p {
  color: var(--muted);
  font-size: 0.95rem;
}

.project-page .research-quote,
.project-page .limbo-quote,
.project-page .resume-quote {
  max-width: 800px;
  margin: 30px 0;
  padding: 26px 30px;
  color: var(--accent-light);
  background: rgba(163, 113, 247, 0.14);
  border: 1px solid var(--border);
  border-left: 3px solid var(--accent);
  border-radius: 0 16px 16px 0;
  font-size: 1.12rem;
}

.project-page .highlight,
.project-page .final-statement {
  max-width: 800px;
  margin: 30px 0;
  padding: 22px 26px;
  color: var(--text) !important;
  background: rgba(57, 208, 200, 0.08);
  border: 1px solid rgba(57, 208, 200, 0.35);
  border-radius: 14px;
}

.project-page .highlight-panel,
.project-page .warning-panel {
  max-width: 800px;
  margin: 32px 0;
  padding: 28px;
  background: rgba(22, 27, 34, 0.82);
  border: 1px solid var(--border);
  border-radius: 16px;
}

.project-page .warning-panel {
  border-color: rgba(248, 81, 73, 0.55);
}

.project-page .warning-panel ul {
  padding-left: 22px;
  color: var(--muted);
}

.project-page .warning-panel li {
  margin-bottom: 10px;
}

.project-page .code-flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  max-width: 950px;
  margin: 30px 0;
  padding: 24px;
  color: var(--accent-light);
  background: rgba(22, 27, 34, 0.82);
  border: 1px solid var(--border);
  border-radius: 16px;
}

.project-page .code-flow span {
  padding: 8px 12px;
  background: rgba(163, 113, 247, 0.14);
  border: 1px solid rgba(163, 113, 247, 0.35);
  border-radius: 8px;
}

.project-page .code-flow strong {
  color: var(--teal);
}

.project-page .question {
  color: var(--accent-light) !important;
  font-size: 1.35rem;
  font-weight: bold;
}

.project-page .definition {
  color: var(--teal);
  font-size: 1.8rem;
}

.project-page .platform-table-wrap {
  width: 100%;
  margin-top: 30px;
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: 16px;
}

.project-page .platform-table {
  width: 100%;
  min-width: 700px;
  border-collapse: collapse;
  background: rgba(22, 27, 34, 0.86);
}

.project-page .platform-table th,
.project-page .platform-table td {
  padding: 16px 18px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--border);
}

.project-page .platform-table th {
  color: var(--accent-light);
  background: rgba(163, 113, 247, 0.12);
  font-size: 0.85rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.project-page .platform-table td {
  color: var(--muted);
}

.project-page .platform-table tr:last-child td {
  border-bottom: 0;
}

.project-page .source-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  max-width: 950px;
  margin: 30px 0 60px;
}

.project-page .source-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 110px;
  padding: 20px;
  color: var(--text);
  background: rgba(22, 27, 34, 0.86);
  border: 1px solid var(--border);
  border-radius: 14px;
  transition: 0.2s ease;
}

.project-page .source-card:hover {
  background: var(--surface-hover);
  border-color: var(--accent);
  transform: translateY(-3px);
}

.project-page .source-card strong {
  color: var(--accent-light);
}

.project-page .source-card span {
  color: var(--muted);
  font-size: 0.9rem;
}

.project-page .source-link {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-top: 14px;
  color: var(--accent-light);
  font-weight: bold;
  overflow-wrap: anywhere;
}

.project-page .source-link:hover {
  color: var(--teal);
}

.project-page .source-note {
  max-width: 800px;
  font-size: 0.9rem;
  font-style: italic;
}

.project-page .project-footer {
  max-width: 950px;
  margin: 0 auto;
}

/* Responsive research page */

@media (max-width: 700px) {

  .project-page {
    min-height: calc(100vh - 24px);
    padding: 24px;
  }

  .project-page .project-hero {
    padding: 80px 0 60px;
  }

  .project-page .project-hero h1 {
    font-size: clamp(2.6rem, 13vw, 4.5rem);
  }

  .project-page .card-grid,
  .project-page .platform-grid,
  .project-page .comparison-grid,
  .project-page .research-panel,
  .project-page .source-list {
    grid-template-columns: 1fr;
  }

  .project-page .content-section,
  .project-page .sources-section {
    padding: 52px 0;
  }

  .project-page .content-section h2,
  .project-page .sources-section h2 {
    font-size: 1.8rem;
  }

  .project-page .code-flow {
    align-items: flex-start;
    flex-direction: column;
  }

  .project-page .code-flow strong {
    transform: rotate(90deg);
  }

  .project-page .status-row {
    align-items: flex-start;
    flex-direction: column;
  }

}
/* Other page footer navigation */

.other-layout footer .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: 6px 8px 6px 0;
  padding: 11px 20px;
  border-radius: 999px;
  font-size: 0.92rem;
}

.other-layout footer .button-secondary {
  color: var(--muted);
  background: transparent;
  border-color: var(--border);
}

.other-layout footer .button-secondary:hover {
  color: var(--text);
  background: var(--surface);
  border-color: var(--accent);
}

@media (max-width: 600px) {
  .other-layout footer .button {
    width: 100%;
    margin: 6px 0;
  }
}
.other-layout footer .button {
  border-radius: 999px;
}