:root {
      --bg: #f0ebe0;
      --ink: #1a1714;
      --muted: #8a847c;
      --line: #ccc7bc;
    }
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    body {
      background: var(--bg);
      color: var(--ink);
      font-family: 'Inter', sans-serif;
      font-weight: 400;
      font-size: 13px;
      line-height: 1.8;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }

    /* ── PROYECTO BANNER ── */
    .proyecto-banner {
      background: var(--ink);
      color: var(--bg);
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 1.2rem;
      padding: .65rem 5vw;
      font-size: 10px;
      font-weight: 400;
      letter-spacing: .18em;
      text-transform: uppercase;
      text-decoration: none;
      transition: background .2s;
    }
    .proyecto-banner:hover { background: #2e2a26; }
    .proyecto-banner .pb-label { color: rgba(240,235,224,.5); }
    .proyecto-banner .pb-title { color: var(--bg); }
    .proyecto-banner .pb-arrow {
      color: rgba(240,235,224,.4);
      font-size: .85rem;
      transition: transform .2s;
    }
    .proyecto-banner:hover .pb-arrow { transform: translateX(4px); }

    /* ── NAV ── */
    nav {
      display: flex;
      justify-content: center;
      padding: 1.4rem 5vw;
      border-bottom: 1px solid var(--line);
    }
    .nav-links { display: flex; gap: 3.5rem; list-style: none; }
    .nav-links a {
      font-size: 10px; font-weight: 400; letter-spacing: .15em;
      text-transform: uppercase;
      color: var(--ink); text-decoration: none; transition: color .2s;
    }
    .nav-links a:hover { color: var(--muted); }

    /* ── SCROLL REVEAL ── */
    .reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
    .reveal.visible { opacity: 1; transform: translateY(0); }

    /* ── HERO ── */
    .hero {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1.5rem 0 2rem;
      overflow: hidden;
      min-height: 320px;
      background: var(--bg);
    }
    .hero-img-left, .hero-img-right {
      position: absolute;
      top: 0; bottom: 0;
      width: 160px;
      overflow: hidden;
    }
    .hero-img-left  { right: 0; }
    .hero-img-right { left: 0; }
    .hero-img-left img, .hero-img-right img {
      position: absolute;
      top: 0;
      height: 100%;
      width: auto;
      display: block;
    }
    .hero-img-left img  { left: 0; }
    .hero-img-right img { right: 0; }
    .hero-center {
      text-align: center;
      z-index: 1;
      padding: 0 180px;
      animation: fadeUp .9s ease both;
    }
    .hero-name {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(3.8rem, 8vw, 9rem);
      font-weight: 300;
      line-height: 1;
      color: var(--ink);
      white-space: nowrap;
    }
    .hero-sub {
      margin-top: .9rem;
      font-size: 10px; font-weight: 300;
      color: var(--muted); letter-spacing: .15em;
      text-transform: uppercase;
    }

    /* ── SECTION ── */
    .section { padding: 3.5rem 5vw; border-top: 1px solid var(--line); }
    .section-inner { display: grid; grid-template-columns: 180px 1fr; gap: 4vw; align-items: start; }
    .section-label {
      font-size: 10px; font-weight: 500;
      letter-spacing: .18em; text-transform: uppercase;
      color: var(--muted); padding-top: .15rem;
    }

    .sobre-text { font-size: 13px; font-weight: 400; line-height: 1.8; color: var(--ink); max-width: 58ch; }
    .sobre-text + .sobre-text { margin-top: 1rem; }

    .datos-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem 3vw; }
    .dato-item .dt { font-size: 10px; font-weight: 400; letter-spacing: .15em; text-transform: uppercase; color: var(--muted); margin-bottom: .3rem; }
    .dato-item .dd { font-size: 13px; font-weight: 300; color: var(--ink); line-height: 1.6; }
    .dato-item.span-full { grid-column: 1 / -1; }

    .plan-table { width: 100%; border-collapse: collapse; }
    .plan-table thead tr { border-bottom: 1.5px solid var(--ink); }
    .plan-table th { font-size: 10px; font-weight: 500; letter-spacing: .15em; text-transform: uppercase; color: var(--muted); padding: .5rem 1rem .5rem 0; text-align: left; }
    .plan-table td { font-size: 13px; font-weight: 300; padding: .8rem 1rem .8rem 0; border-bottom: 1px solid var(--line); vertical-align: middle; color: var(--ink); }
    .plan-table tr:hover td { background: #e8e3d8; transition: background .15s; }
    .en-curso { font-size: 10px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; border: 1px solid var(--ink); padding: .2rem .65rem; color: var(--ink); }
    .nota { font-family: 'Cormorant Garamond', serif; font-size: 1.15rem; font-weight: 400; }
    .nota-word { font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 300; color: var(--muted); margin-left: .35rem; }

    .plan-stats { display: flex; gap: 5rem; margin-top: 2rem; padding-top: 1.8rem; border-top: 1px solid var(--line); }
    .stat-label { font-size: 10px; font-weight: 400; letter-spacing: .15em; text-transform: uppercase; color: var(--muted); margin-bottom: .3rem; }
    .stat-value { font-family: 'Cormorant Garamond', serif; font-size: 2.8rem; font-weight: 300; line-height: 1; }

    .equipo-grid { display: grid; grid-template-columns: repeat(3, 160px); gap: 2rem; }
    .equipo-member { display: block; text-decoration: none; color: inherit; }
    .equipo-member .img-wrap { overflow: hidden; aspect-ratio: 2/3; width: 160px; }
    .equipo-member img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; filter: grayscale(100%); transition: filter .4s, transform .5s; }
    a.equipo-member:hover img { filter: grayscale(0%); transform: scale(1.03); }
    .member-info { margin-top: .55rem; }
    .member-name { font-size: 12px; font-weight: 400; color: var(--ink); letter-spacing: .02em; }
    .member-sub { font-size: 10px; font-weight: 300; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-top: .15rem; }

    .inst-list { font-size: 13px; font-weight: 300; line-height: 1.85; color: var(--ink); }
    .inst-group { margin-bottom: 1.3rem; }
    .inst-name { font-weight: 400; }
    .inst-detail { color: var(--muted); }
    .disclaimer { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); font-size: 11px; font-weight: 300; font-style: italic; color: var(--muted); line-height: 1.75; max-width: 70ch; }

    footer { border-top: 1.5px solid var(--ink); padding: 1.4rem 5vw; display: flex; justify-content: space-between; align-items: center; margin-top: 2rem; }
    .footer-side { font-size: 10px; font-weight: 400; letter-spacing: .15em; text-transform: uppercase; color: var(--muted); }
    .footer-center { font-family: 'Cormorant Garamond', serif; font-style: normal; font-size: 1rem; font-weight: 300; color: var(--ink); text-decoration: none; cursor: pointer; transition: color .2s; }
    .footer-center:hover { color: var(--muted); }

    @keyframes fadeUp { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }

    @media (max-width: 900px) {
      .hero-img-left, .hero-img-right { width: 100px; }
      .hero-center { padding: 0 115px; }
      .hero-name { font-size: 5rem; white-space: normal; }
    }
    @media (max-width: 600px) {
      .hero-img-left, .hero-img-right { width: 65px; }
      .hero-center { padding: 0 75px; }
      .hero-name { font-size: 2.8rem; }
      .section-inner { grid-template-columns: 1fr; gap: 1rem; }
      .datos-grid { grid-template-columns: 1fr 1fr; }
      .plan-table th:nth-child(3), .plan-table td:nth-child(3) { display: none; }
      .nav-links { gap: 1.2rem; flex-wrap: wrap; justify-content: center; }
      .equipo-grid { grid-template-columns: repeat(3, 1fr); gap: 1rem; }
      .equipo-member .img-wrap { width: 100%; }
    }
