/* ------------------------------------------------------------------
   TROi CV — modern, calm, readable (MkDocs Material)
   Use with: <div class="troi-cv"> ... </div>
------------------------------------------------------------------- */

.troi-cv{
  max-width: 980px;
  margin: 0 auto;
  padding: 1.2rem 0 2rem;
}

/* Hide “document feel” noise */
.troi-cv hr{
  border: 0;
  height: 1px;
  background: rgba(15,23,42,.10);
  margin: 1.4rem 0;
}

/* Hero / header */
.troi-cv .cv-hero{
  padding: 1.4rem 1.5rem;
  border-radius: 22px;
  border: 1px solid rgba(15,23,42,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.58));
  box-shadow: 0 16px 40px rgba(2,6,23,.10);
  backdrop-filter: blur(14px) saturate(1.05);
}

.troi-cv .cv-name{
  margin: 0;
  font-weight: 840;
  letter-spacing: -0.04em;
  font-size: clamp(2.0rem, 3.4vw, 2.6rem);
  line-height: 1.05;
}

.troi-cv .cv-title{
  margin: .35rem 0 0;
  color: rgba(15,23,42,.72);
  font-weight: 650;
}

.troi-cv .cv-summary{
  margin: .9rem 0 0;
  color: rgba(15,23,42,.68);
  line-height: 1.7;
  font-size: 1.05rem;
}

/* Quick facts row */
.troi-cv .cv-facts{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: .9rem;
  margin-top: 1rem;
}

.troi-cv .cv-fact{
  grid-column: span 6;
  padding: .85rem 1rem;
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.50);
  backdrop-filter: blur(12px);
}

@media (min-width: 900px){
  .troi-cv .cv-fact{ grid-column: span 3; }
}

.troi-cv .cv-fact strong{
  display: block;
  font-size: .9rem;
  color: rgba(15,23,42,.78);
  margin-bottom: .15rem;
}

.troi-cv .cv-fact span{
  color: rgba(15,23,42,.62);
}

/* Section headings */
.troi-cv h2{
  margin-top: 1.8rem;
  margin-bottom: .6rem;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.troi-cv h3{
  margin-top: 1.2rem;
  margin-bottom: .25rem;
  font-weight: 780;
  letter-spacing: -0.02em;
}

/* Timeline cards */
.troi-cv .cv-card{
  padding: 1.1rem 1.2rem;
  border-radius: 20px;
  border: 1px solid rgba(15,23,42,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,255,255,.52));
  box-shadow: 0 12px 26px rgba(2,6,23,.08);
  backdrop-filter: blur(14px);
  margin: .9rem 0;
}

.troi-cv .cv-meta{
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .8rem;
  margin-top: .35rem;
  color: rgba(15,23,42,.62);
  font-weight: 600;
  font-size: .95rem;
}

.troi-cv .cv-meta span{
  display: inline-flex;
  align-items: center;
  padding: .2rem .55rem;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.45);
}

/* Lists */
.troi-cv ul{
  margin-top: .55rem;
}

.troi-cv li{
  margin: .25rem 0;
  color: rgba(15,23,42,.70);
}

/* Skill chips */
.troi-cv .cv-chips{
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .7rem;
}

.troi-cv .cv-chip{
  padding: .35rem .65rem;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.48);
  color: rgba(15,23,42,.62);
  font-weight: 650;
  font-size: .92rem;
}

/* Dark mode */
[data-md-color-scheme="slate"] .troi-cv hr{
  background: rgba(226,232,240,.16);
}

[data-md-color-scheme="slate"] .troi-cv .cv-hero,
[data-md-color-scheme="slate"] .troi-cv .cv-card,
[data-md-color-scheme="slate"] .troi-cv .cv-fact{
  border-color: rgba(226,232,240,.16);
  background: linear-gradient(180deg, rgba(12,18,32,.70), rgba(12,18,32,.54));
  box-shadow: 0 18px 44px rgba(0,0,0,.40);
}

[data-md-color-scheme="slate"] .troi-cv .cv-title,
[data-md-color-scheme="slate"] .troi-cv .cv-summary,
[data-md-color-scheme="slate"] .troi-cv .cv-fact span,
[data-md-color-scheme="slate"] .troi-cv .cv-meta,
[data-md-color-scheme="slate"] .troi-cv li{
  color: rgba(226,232,240,.72);
}

[data-md-color-scheme="slate"] .troi-cv .cv-fact strong{
  color: rgba(248,250,252,.85);
}

[data-md-color-scheme="slate"] .troi-cv .cv-meta span,
[data-md-color-scheme="slate"] .troi-cv .cv-chip{
  border-color: rgba(226,232,240,.16);
  background: rgba(12,18,32,.45);
  color: rgba(226,232,240,.70);
}
