/* ============================================================
   BUSINESS TECH CHALLENGE 2026
   Sistema visual: "De la señal al trazo"
   La idea rectora del reto -convertir un problema en solución-
   se vuelve literal: un trazo que nace ruidoso, gris, incierto,
   y se resuelve en una línea roja limpia y ascendente.
   ============================================================ */

:root{
  --paper:#ffffff;
  --paper-soft:#f8f6f3;
  --ink:#171310;
  --ink-soft:#5c554d;
  --red:#e0001c;
  --red-deep:#9e0012;
  --red-tint:#fdecec;
  --line:#e9e4dd;
  --line-strong:#d8d1c7;
  --dark:#171310;
  --ok:#1c6b3c;
  --err:#a3121f;
  --max:1280px;
  --radius:14px;
  --radius-sm:8px;
  --display:"Space Grotesk",-apple-system,sans-serif;
  --body:"IBM Plex Sans","Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
}

/* Override final móvil: separación limpia y clic seguro */
@media(max-width:700px){
  .registration-page .registration-intro-grid,
  .registration-page:not(.showcase-submit-page) .registration-intro-grid,
  .showcase-submit-page .registration-intro-grid{
    display:flex!important;
    flex-direction:column!important;
    gap:22px!important;
    margin-top:26px!important;
  }
  .registration-page .registration-intro-grid>div:first-child,
  .showcase-submit-page .registration-intro-grid>div:first-child{
    width:100%!important;
    max-width:100%!important;
    order:1;
  }
  .registration-page .registration-date,
  .registration-page:not(.showcase-submit-page) .registration-date,
  .showcase-submit-page .registration-date{
    order:2;
    width:100%!important;
    max-width:100%!important;
    min-height:245px!important;
    margin:0!important;
    transform:none!important;
  }
  .registration-page .subpage-title,
  .showcase-submit-page .subpage-title{
    font-size:clamp(3rem,16vw,4.5rem)!important;
    line-height:.84!important;
  }
  .registration-page .subpage-claim,
  .showcase-submit-page .subpage-claim{
    max-width:100%!important;
    font-size:clamp(1.35rem,7vw,2.05rem)!important;
  }

  .projects-page .projects-intro-grid{
    display:flex!important;
    flex-direction:column!important;
    gap:16px!important;
  }
  .projects-page .projects-intro-grid>div:first-child{
    order:1;
    width:100%!important;
    max-width:100%!important;
  }
  .projects-page .project-orbit{
    order:2;
    position:relative!important;
    width:100%!important;
    min-height:178px!important;
    margin:0!important;
    right:auto!important;
    top:auto!important;
    pointer-events:none!important;
  }
  .projects-page .page-hero-actions{
    position:relative!important;
    z-index:10!important;
  }
  .projects-page .showcase-hero-button{
    display:flex!important;
    width:100%!important;
    max-width:310px!important;
    min-width:0!important;
    pointer-events:auto!important;
  }
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(--red);color:#fff}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img,svg{max-width:100%;display:block}
.container{width:min(calc(100% - 8vw),var(--max));margin-inline:auto}
.skip-link{position:fixed;left:12px;top:12px;z-index:9999;background:var(--ink);color:#fff;border-radius:var(--radius-sm);padding:10px 14px;transform:translateY(-180%);font-family:var(--mono);font-size:.8rem}
.skip-link:focus{transform:none}

/* ---------- navegación ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.86);backdrop-filter:blur(14px) saturate(1.1);border-bottom:1px solid var(--line)}
.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--display);font-weight:600;letter-spacing:-.01em;min-width:0}
.brand-mark{width:38px;height:38px;background:var(--ink);border-radius:10px;padding:5px;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}
.brand-mark img{width:100%;height:100%;object-fit:contain}
.brand-copy{display:grid;line-height:1.1;font-size:.98rem}
.brand-copy small{margin-top:3px;color:var(--red);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;font-family:var(--mono);font-weight:500}
.nav-links{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.76rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase}
.nav-links a:not(.nav-cta),.nav-drop-toggle{position:relative;padding:10px 12px;border:0;border-radius:999px;background:transparent;color:var(--ink);font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;transition:background .2s ease,color .2s ease}
.nav-links a:not(.nav-cta):hover,.nav-drop-toggle:hover,.nav-dropdown:hover .nav-drop-toggle{background:var(--paper-soft)}
.nav-links a[aria-current="page"]:not(.nav-cta){color:var(--red);background:var(--red-tint)}
.nav-dropdown{position:relative}
.nav-dropdown-cta{margin-left:6px}
.nav-dropdown-cta .nav-cta{margin-left:0;color:#fff}
.nav-drop-menu{position:absolute;top:calc(100% + 10px);left:0;z-index:30;min-width:220px;padding:8px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 22px 55px rgba(23,19,16,.14);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.nav-dropdown-cta .nav-drop-menu{left:auto;right:0}
.nav-dropdown:hover .nav-drop-menu,.nav-dropdown:focus-within .nav-drop-menu{opacity:1;transform:none;pointer-events:auto}
.nav-drop-menu a{display:block!important;padding:11px 12px!important;border-radius:12px!important;white-space:nowrap}
.nav-cta{background:var(--red);color:#fff;padding:11px 16px!important;border-radius:999px;transition:.2s ease;margin-left:6px}
.nav-cta:hover{background:var(--red-deep)}
.menu-toggle{display:none;border:1px solid var(--line);background:transparent;width:44px;height:40px;padding:9px;cursor:pointer;border-radius:var(--radius-sm)}
.menu-toggle span{display:block;height:2px;background:var(--ink);margin:4px 0;border-radius:2px}

/* ---------- HERO: la firma del sitio ---------- */
.hero{padding:clamp(48px,7vw,88px) 0 0;position:relative}
.hero-inner{position:relative}
.hero-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.eyebrow,.kicker{display:inline-flex;align-items:center;gap:10px;color:var(--red);font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500}
.eyebrow::before,.kicker::before{content:"";width:26px;height:2px;background:currentColor;display:block;flex:0 0 26px;border-radius:2px}
.hero-stamp{border:1px solid var(--line-strong);border-radius:999px;padding:8px 16px;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;transform:rotate(-2deg);color:var(--ink-soft)}
.hero-title{font-family:var(--display);margin:26px 0 0;font-size:clamp(3.2rem,8.4vw,7.4rem);line-height:.94;letter-spacing:-.03em;font-weight:600}
.hero-title em{font-style:normal;color:var(--red);position:relative;display:inline-block;transform:skewX(-6deg)}

.hero-signature{margin:clamp(18px,4vw,34px) 0 0;position:relative}
.hero-signature svg{width:100%;height:auto;overflow:visible}
.sig-noise{fill:none;stroke:#c7c0b6;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4 9;animation:sigDash 6s linear infinite}
@keyframes sigDash{to{stroke-dashoffset:-130}}
.sig-line{fill:none;stroke:var(--red);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:640;stroke-dashoffset:640;animation:sigDraw 1.7s .3s cubic-bezier(.3,.85,.25,1) forwards;filter:drop-shadow(0 6px 14px rgba(224,0,28,.28))}
@keyframes sigDraw{to{stroke-dashoffset:0}}
.sig-dot{fill:#a49c8f;animation:sigPulse 2.6s ease-in-out infinite}
.sig-dot:nth-child(2){animation-delay:.3s}.sig-dot:nth-child(3){animation-delay:.6s}.sig-dot:nth-child(4){animation-delay:.9s}
@keyframes sigPulse{0%,100%{opacity:.35;r:3}50%{opacity:1;r:4.5}}
.sig-node{fill:var(--red);opacity:0;animation:sigNode .4s 1.9s ease forwards}
@keyframes sigNode{to{opacity:1}}
.sig-label{font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase}
.sig-label.problema{fill:var(--ink-soft)}
.sig-label.solucion{fill:var(--red);font-weight:600}

.hero-bottom{margin-top:clamp(28px,5vw,48px)}
.hero-tagline{max-width:none;margin:0;padding-bottom:26px;border-bottom:1px solid var(--line);font-size:1.05rem;color:var(--ink-soft)}.hero-tagline strong{color:var(--ink);font-weight:600}
.hero-showcase-cta{isolation:isolate;margin-top:16px;padding:clamp(16px,1.8vw,22px) clamp(22px,3vw,34px);border-radius:28px;box-shadow:0 18px 46px rgba(18,15,13,.14),0 0 0 1px rgba(224,0,28,.18)}
.hero-showcase-cta.visible{animation:showcaseEntrance 1.08s cubic-bezier(.12,1.15,.28,1) both,showcasePulse 3.2s 1.1s ease-in-out infinite}
.hero-showcase-cta::before{width:6px;transform-origin:top;animation:showcaseRedRail 1.35s .32s cubic-bezier(.16,1,.3,1) both}
.hero-showcase-cta::after{content:"SHOWCASE";right:18%;bottom:-16px;font-family:var(--display);font-size:clamp(4rem,8vw,8.5rem);font-weight:900;letter-spacing:-.08em;color:rgba(255,255,255,.045);transform:translateY(28px) scale(.94);opacity:0}
.hero-showcase-cta.visible::after{animation:showcaseGhost 1.4s .22s cubic-bezier(.16,1,.3,1) forwards}
.hero-showcase-cta>div:first-child::after{content:"";position:absolute;inset:-40px -60vw -40px -80px;z-index:-1;background:linear-gradient(110deg,transparent 0%,transparent 42%,rgba(255,255,255,.2) 49%,rgba(255,255,255,.04) 56%,transparent 64%);transform:translateX(-72%);opacity:0;pointer-events:none}
.hero-showcase-cta.visible>div:first-child::after{animation:showcaseSweep 1.45s .38s cubic-bezier(.16,1,.3,1) both}
.hero-showcase-cta .eyebrow{font-size:clamp(.72rem,.95vw,.9rem);letter-spacing:.13em}
.hero-showcase-cta h2{margin:6px 0 4px;font-size:clamp(1.9rem,3.15vw,3.05rem);line-height:.95;max-width:720px}
.hero-showcase-cta p{font-size:.82rem;line-height:1.38}
.hero-showcase-cta .btn{min-height:58px;padding-inline:34px;font-size:.84rem;box-shadow:0 0 0 0 rgba(224,0,28,.32);animation:buttonPop .9s .72s cubic-bezier(.12,1.25,.28,1) both,buttonGlow 2.4s 1.45s ease-in-out infinite}
@keyframes showcaseEntrance{0%{opacity:0;transform:translateY(34px) scale(.94);filter:blur(12px);clip-path:inset(48% 48% 48% 48% round 28px)}58%{opacity:1;transform:translateY(-8px) scale(1.015);filter:blur(0);clip-path:inset(0 0 0 0 round 28px)}100%{opacity:1;transform:translateY(0) scale(1);filter:none;clip-path:inset(0 0 0 0 round 28px)}}
@keyframes showcaseRedRail{0%{transform:scaleY(0);opacity:0}42%{opacity:1}100%{transform:scaleY(1);opacity:1}}
@keyframes showcaseGhost{0%{opacity:0;transform:translateY(28px) scale(.94);letter-spacing:-.13em}100%{opacity:1;transform:translateY(0) scale(1);letter-spacing:-.08em}}
@keyframes showcaseSweep{0%{opacity:0;transform:translateX(-72%)}18%{opacity:1}100%{opacity:0;transform:translateX(62%)}}
@keyframes showcasePulse{0%,100%{transform:translateY(0);box-shadow:0 18px 46px rgba(18,15,13,.14),0 0 0 1px rgba(224,0,28,.18)}50%{transform:translateY(-3px);box-shadow:0 28px 62px rgba(18,15,13,.18),0 0 0 1px rgba(224,0,28,.34)}}
@keyframes buttonPop{0%{opacity:0;transform:translateX(18px) scale(.9)}62%{opacity:1;transform:translateX(0) scale(1.06)}100%{opacity:1;transform:translateX(0) scale(1)}}
@keyframes buttonGlow{0%,100%{box-shadow:0 0 0 0 rgba(224,0,28,.32)}50%{box-shadow:0 0 0 8px rgba(224,0,28,0)}}
.hero-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:28px}
.hero-nav-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:32px;padding-bottom:34px}
.hero-nav-grid a,.hero-nav-grid button{min-height:106px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px 22px;border:1px solid var(--line-strong);border-radius:28px;background:var(--paper);color:inherit;text-align:left;text-decoration:none;box-shadow:0 8px 24px rgba(24,20,18,.04);transition:background .24s ease,color .24s ease,transform .24s ease,box-shadow .24s ease,border-color .24s ease;cursor:pointer}
.hero-nav-grid a:hover,.hero-nav-grid button:hover{position:relative;z-index:1;background:var(--ink);border-color:var(--ink);color:var(--paper);transform:translateY(-5px);box-shadow:0 16px 32px rgba(24,20,18,.13)}
.hero-nav-grid a.featured{background:var(--red);color:#fff;border-color:var(--red)}
.hero-nav-grid a.featured:hover{background:var(--red-deep)}
.hero-nav-grid .edit-entry{background:var(--ink);border-color:var(--ink);color:#fff}
.hero-nav-grid .edit-entry:hover{background:#fff;color:var(--ink);border-color:var(--red)}
.hero-nav-grid a>span,.hero-nav-grid button>span{align-self:start;font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;opacity:.62}
.hero-nav-grid a div,.hero-nav-grid button div{display:grid;gap:4px}
.hero-nav-grid small{font-family:var(--mono);font-size:.62rem;letter-spacing:.07em;text-transform:uppercase;opacity:.68}
.hero-nav-grid strong{font-family:var(--display);font-size:clamp(1.3rem,1.55vw,1.6rem);line-height:1.05}
.hero-nav-grid i{font-family:var(--mono);font-size:1.15rem;font-style:normal;color:var(--red);transition:transform .24s ease}
.hero-nav-grid .featured i,.hero-nav-grid a:hover i,.hero-nav-grid button:hover i{color:currentColor}
.hero-nav-grid a:hover i,.hero-nav-grid button:hover i{transform:translate(3px,-3px)}
.event-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfaf7}
.summary-intro{display:grid;grid-template-columns:minmax(170px,.36fr) minmax(0,1fr);gap:38px;align-items:start;padding:44px 0;border-bottom:1px solid var(--line)}
.summary-intro p{max-width:860px;margin:0;font-family:var(--display);font-size:clamp(1.2rem,1.8vw,1.65rem);line-height:1.38;letter-spacing:-.012em}
.summary-intro p strong{color:var(--red);font-weight:600}
.summary-grid{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid var(--line)}
.summary-block{min-height:350px;padding:38px;border-right:1px solid var(--line);display:flex;flex-direction:column}
.summary-index{font-family:var(--mono);font-size:.65rem;color:var(--red);letter-spacing:.09em;text-transform:uppercase}
.summary-block h2{max-width:500px;margin:20px 0 18px;font-family:var(--display);font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.04;letter-spacing:-.03em}
.summary-block p{max-width:650px;margin:0;color:var(--ink-soft);font-size:.98rem;line-height:1.65}
.summary-block blockquote{margin:auto 0 0;padding:18px 20px;border-left:4px solid var(--red);background:var(--ink);color:#fff;font-family:var(--display);font-size:1.22rem;line-height:1.3}
.summary-block blockquote strong{color:var(--red)}
.summary-principle{background:#f3efe8}
.summary-principle p strong{color:var(--ink);font-weight:600}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border:1px solid var(--ink);border-radius:999px;background:transparent;font-family:var(--mono);font-size:.78rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn.primary{background:var(--red);border-color:var(--red);color:#fff}.btn.primary:hover{background:var(--red-deep);border-color:var(--red-deep)}
.btn.light{background:var(--paper)}.btn.light:hover{background:var(--ink);color:var(--paper)}
.btn.dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.dark:hover{background:var(--red);border-color:var(--red)}

/* ---------- secciones genéricas ---------- */
.section{padding:clamp(56px,7vw,96px) 0;border-bottom:1px solid var(--line);position:relative}
.section.compact{padding:clamp(40px,5vw,64px) 0}
.intro-row{padding:clamp(40px,6vw,64px) 0;border-bottom:1px solid var(--line);background:var(--paper-soft)}
.section-label{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--red);margin-bottom:16px;display:block}
.section-content{max-width:1000px}
.lead{margin:0;font-size:clamp(1.3rem,2.1vw,2.05rem);line-height:1.35;letter-spacing:-.015em;max-width:960px}.lead strong{font-weight:600;color:var(--red)}
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}.sticky{position:sticky;top:112px}
.h2{font-family:var(--display);margin:14px 0 0;font-size:clamp(2rem,3.6vw,3.4rem);line-height:1.03;letter-spacing:-.025em;font-weight:600;max-width:780px}
.h3{font-family:var(--display);margin:0;font-size:1.3rem;line-height:1.15;letter-spacing:-.01em;font-weight:600}
.statement{margin:0;font-size:clamp(1.2rem,1.9vw,1.65rem);line-height:1.45;letter-spacing:-.01em;color:var(--ink)}
.body-copy{color:var(--ink-soft);max-width:720px}.body-copy p:first-child{margin-top:0}
.big-quote{margin:28px 0 0;background:var(--ink);color:var(--paper);border-radius:var(--radius);padding:clamp(24px,4vw,40px);font-family:var(--display);font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.15;font-weight:600;letter-spacing:-.02em}
.big-quote br+*{color:var(--red)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-radius:var(--radius);overflow:hidden}
.stat{background:var(--paper);min-height:150px;padding:24px;display:flex;flex-direction:column;justify-content:space-between}
.stat strong{font-family:var(--display);font-size:2.1rem;color:var(--red);line-height:1;font-weight:600}
.stat span{font-size:.82rem;color:var(--ink-soft);max-width:180px}

/* categorías */
.category-grid{margin-top:34px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.card{min-height:280px;padding:26px;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:var(--paper);transition:transform .25s ease,border-color .25s ease,background .25s ease}
.card:hover{transform:translateY(-6px);border-color:var(--red);background:var(--red-tint)}
.num{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;color:var(--red);font-weight:500}
.card h3{margin:44px 0 12px;font-size:1.28rem;line-height:1.1}
.card p{margin:0;font-size:.92rem;color:var(--ink-soft)}

/* proceso */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:32px;position:relative}
.step{min-height:230px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;background:var(--paper)}
.step-index{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;color:var(--red);font-weight:600}
.step h3{margin-top:auto;margin-bottom:8px}.step p{margin:0;color:var(--ink-soft);font-size:.9rem}

/* tech cloud */
.tech-cloud{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.tech-chip{border:1px solid var(--line-strong);padding:8px 14px;border-radius:999px;font-family:var(--mono);font-size:.74rem;font-weight:500;background:var(--paper);transition:.2s ease}
.tech-chip:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* callout */
.callout{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;background:var(--red);color:#fff;padding:clamp(28px,4vw,40px);border-radius:var(--radius)}
.callout .eyebrow{color:rgba(255,255,255,.85)}.callout .eyebrow::before{background:rgba(255,255,255,.85)}
.callout h2{margin:14px 0 7px;font-family:var(--display);font-size:clamp(1.6rem,2.8vw,2.6rem);line-height:1.08;letter-spacing:-.02em;font-weight:600}
.callout p{margin:0;max-width:680px;color:rgba(255,255,255,.9)}
.callout .btn{background:#fff;color:var(--ink);border-color:#fff}.callout .btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

/* grids info / org / recursos */
.info-grid,.org-grid,.people,.resources{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:32px}
.info-card,.org-card,.resource-card{padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:transparent;min-height:190px;position:relative;transition:border-color .2s ease,background .2s ease}
.info-card:hover,.resource-card:hover{border-color:var(--red);background:var(--red-tint)}
.info-card h3,.org-card h3,.resource-card h3{margin:0 0 10px}.info-card p,.org-card p,.resource-card p{margin:0;color:var(--ink-soft)}
.info-card.full{grid-column:1/-1}
.org-card .mini-label,.resource-card .mini-label{color:var(--red);font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.people{grid-template-columns:repeat(4,1fr)}
.person{padding:20px;border:1px solid var(--line);border-radius:var(--radius);font-weight:600;min-height:104px}
.person small{display:block;margin-top:6px;color:var(--ink-soft);font-weight:400;font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}

/* instituciones */
.institutional{background:var(--paper-soft)}
.logo-grid{display:grid;grid-template-columns:.8fr 1fr 1.4fr;gap:14px;margin-top:32px}
.institution-card{min-height:250px;border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;justify-content:space-between;background:#fff;overflow:hidden}
.institution-card.dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.institution-card .logo-box{height:135px;display:grid;place-items:center;padding:5px}
.institution-card img{max-height:125px;max-width:100%;width:auto;object-fit:contain}.institution-card.dark img{max-height:110px}
.cpcf-crop{width:135px;height:140px;overflow:hidden;display:grid;place-items:start center}
.cpcf-crop img{height:140px!important;max-height:none!important;max-width:none!important;width:auto!important;transform:translateX(-2px)}
.institution-card h3{margin:14px 0 3px;font-family:var(--mono);font-size:.85rem;text-transform:uppercase;letter-spacing:.02em}
.institution-card p{margin:0;font-size:.78rem;color:var(--ink-soft)}.institution-card.dark p{color:#bdb6ac}
.logo-note{margin-top:14px;color:var(--ink-soft);font-size:.74rem}

/* interiores: page-hero */
.page-hero{min-height:300px;display:grid;align-items:end;padding:clamp(52px,7vw,84px) 0 44px;border-bottom:1px solid var(--line);position:relative;overflow:hidden;background:var(--paper)}
.page-hero .display{font-family:var(--display);margin:16px 0 0;font-size:clamp(2.4rem,5vw,4.6rem);line-height:.98;letter-spacing:-.025em;font-weight:600;max-width:840px}
.page-hero .lead-small{max-width:680px;margin:20px 0 0;color:var(--ink-soft);font-size:1.05rem}
.page-marker{position:absolute;right:6vw;bottom:36px;display:flex;align-items:center;gap:10px}
.page-marker svg{width:96px;height:26px}
.page-marker .mk-noise{fill:none;stroke:#d8d1c7;stroke-width:2.5;stroke-linecap:round}
.page-marker .mk-line{fill:none;stroke:var(--red);stroke-width:3.5;stroke-linecap:round}

.notice{border:1px solid var(--red);border-left-width:4px;background:var(--red-tint);border-radius:var(--radius-sm);padding:18px 22px;color:#5a1a1f}
.accordion{margin-top:30px;border-top:1px solid var(--line)}.acc-item{border-bottom:1px solid var(--line)}
.acc-button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 0;background:transparent;border:0;text-align:left;font-family:var(--display);font-weight:600;font-size:1.02rem;cursor:pointer;color:var(--ink)}
.acc-button span:last-child{color:var(--red);font-size:1.3rem;transition:transform .2s;flex:0 0 auto}
.acc-item.open .acc-button span:last-child{transform:rotate(45deg)}
.acc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s ease}
.acc-item.open .acc-panel{grid-template-rows:1fr}.acc-panel>div{overflow:hidden}
.acc-panel p{margin:0;padding:0 0 20px;color:var(--ink-soft);max-width:900px}

/* formulario */
.form-shell{display:grid;grid-template-columns:.7fr 1.3fr;gap:56px;align-items:start}
.form-aside{position:sticky;top:112px}
.form-meta{margin-top:26px;border-top:1px solid var(--line)}
.form-meta div{padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:.88rem}
.form-meta strong{display:block;color:var(--ink);margin-bottom:2px;font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.form-card{border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,3vw,34px);background:var(--paper)}
.form-section{padding:26px 0;border-bottom:1px solid var(--line)}.form-section:first-child{padding-top:0}.form-section:last-child{border:0;padding-bottom:0}
.form-section h3{margin-bottom:18px}
.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.field{display:grid;gap:7px}.field.full{grid-column:1/-1}
label{font-size:.82rem;font-weight:600;font-family:var(--mono);text-transform:uppercase;letter-spacing:.03em}
label small{font-weight:400;color:var(--ink-soft);text-transform:none;letter-spacing:0;font-family:var(--body)}
input,textarea,select{width:100%;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:12px 13px;outline:none;font-family:var(--body)}
textarea{min-height:118px;resize:vertical}
input:focus,textarea:focus,select:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(224,0,28,.12)}
.checkbox{display:flex;gap:10px;align-items:flex-start;color:var(--ink-soft);font-size:.86rem}
.checkbox input{width:auto;margin-top:4px;accent-color:var(--red)}
.form-status{margin-top:16px;min-height:22px;color:var(--ink-soft);font-size:.9rem}
.form-status.success{color:var(--ok)}.form-status.error{color:var(--err)}

/* editar inscripción */
.edit-modal{width:min(1120px,calc(100% - 28px));height:min(92dvh,920px);max-height:920px;padding:0;border:0;border-radius:34px;background:transparent;color:var(--ink);box-shadow:0 40px 120px rgba(23,19,16,.34);overflow:hidden}
.edit-modal::backdrop{background:rgba(23,19,16,.56);backdrop-filter:blur(8px)}
.edit-modal-shell{position:relative;display:grid;grid-template-columns:.72fr 1.28fr;height:100%;background:#fff;border:1px solid rgba(255,255,255,.35);border-radius:34px;overflow:hidden}
.edit-close{position:absolute;right:16px;top:16px;z-index:2;width:42px;height:42px;border:1px solid rgba(23,19,16,.12);border-radius:50%;background:#fff;color:var(--ink);font-size:1.55rem;line-height:1;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease}
.edit-close:hover{transform:rotate(8deg);background:var(--red);color:#fff}
.edit-panel{padding:clamp(24px,3.2vw,46px)}
.edit-modal-shell>.edit-panel:not(.edit-panel-dark){overflow-y:auto;overscroll-behavior:contain}
.edit-panel-dark{position:relative;overflow:hidden;background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:0}
.edit-panel-dark::after{content:"";position:absolute;width:270px;height:270px;right:-135px;bottom:-135px;border:48px solid rgba(224,0,28,.24);border-radius:50%}
.edit-panel-dark .eyebrow{color:var(--red)}
.edit-panel h2{position:relative;z-index:1;margin:22px 0 16px;font-family:var(--display);font-size:clamp(2.35rem,4vw,4rem);line-height:.96;letter-spacing:-.05em}
.edit-panel p{position:relative;z-index:1;margin:0;color:rgba(255,255,255,.72);font-size:1.02rem;line-height:1.65}
.edit-rules{position:relative;z-index:1;display:grid;gap:10px;margin-top:34px}
.edit-rules span{padding:13px 0;border-top:1px solid rgba(255,255,255,.16);font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.edit-code-step{padding-right:46px}
.edit-code-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:8px}
.edit-code-row input{text-transform:uppercase;font-family:var(--mono);letter-spacing:.04em;border-radius:999px;padding-inline:18px}
.edit-help{margin:10px 0 0!important;color:var(--ink-soft)!important;font-size:.9rem!important}
.edit-form-wrap{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.edit-form-wrap .field-grid{gap:13px}
.edit-form-wrap textarea{min-height:96px}
.edit-form-wrap input,.edit-form-wrap textarea,.edit-form-wrap select{border-radius:18px;padding:13px 14px;transition:border-color .24s ease,box-shadow .24s ease,transform .24s ease}
.edit-form-wrap input:focus,.edit-form-wrap textarea:focus,.edit-form-wrap select:focus{transform:translateY(-2px)}
.edit-actions{position:sticky;bottom:-1px;z-index:2;display:flex;gap:10px;flex-wrap:wrap;margin:18px -6px -8px;padding:14px 6px 8px;background:linear-gradient(180deg,rgba(255,255,255,.78),#fff 35%)}
.edit-status{min-height:24px;margin-top:16px;color:var(--ink-soft);font-size:.93rem}
.edit-status.success{color:var(--ok)}.edit-status.error{color:var(--err)}
.edit-entry-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;padding:clamp(28px,4vw,44px);border:1px solid var(--line-strong);border-radius:34px;background:#fff;box-shadow:0 18px 54px rgba(23,19,16,.06);transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .38s ease,border-color .38s ease}
.edit-entry-card:hover{transform:translateY(-6px);border-color:rgba(224,0,28,.42);box-shadow:0 28px 70px rgba(23,19,16,.1)}
.edit-entry-card h2{margin:12px 0 8px;font-family:var(--display);font-size:clamp(1.7rem,3vw,3rem);line-height:1;letter-spacing:-.035em}
.edit-entry-card p{margin:0;max-width:760px;color:var(--ink-soft)}

/* aviso de inscripciones cerradas */
.closed-modal{width:min(620px,calc(100% - 28px));padding:0;border:0;border-radius:34px;background:transparent;color:var(--ink);box-shadow:0 34px 90px rgba(23,19,16,.28)}
.closed-modal::backdrop{background:rgba(23,19,16,.58);backdrop-filter:blur(8px)}
.closed-modal-card{position:relative;overflow:hidden;padding:clamp(30px,5vw,52px);border:1px solid var(--line-strong);border-radius:34px;background:#fff}
.closed-modal-card::after{content:"";position:absolute;right:-90px;top:-90px;width:210px;height:210px;border:38px solid rgba(224,0,28,.09);border-radius:50%;pointer-events:none}
.closed-close{position:absolute;right:16px;top:16px;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:1.45rem;line-height:1;cursor:pointer;transition:.2s ease}
.closed-close:hover{background:var(--red);border-color:var(--red);color:#fff;transform:rotate(8deg)}
.closed-modal-card h2{position:relative;z-index:1;margin:16px 0 12px;font-family:var(--display);font-size:clamp(2.3rem,5vw,4rem);line-height:.95;letter-spacing:-.05em}
.closed-modal-card p{position:relative;z-index:1;margin:0;max-width:500px;color:var(--ink-soft);font-size:1.03rem;line-height:1.65}
.closed-modal-actions{position:relative;z-index:1;display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}

/* repositorio de proyectos */
.repo-count-card{display:grid;grid-template-columns:minmax(270px,340px) 1fr auto;align-items:center;gap:22px;margin-top:26px;padding:24px;border:1px solid var(--line-strong);border-radius:30px;background:#fff;box-shadow:0 16px 46px rgba(23,19,16,.055)}
.repo-count-number{min-width:0;min-height:82px;display:grid;place-items:center;text-align:center;border-radius:24px;background:var(--red);color:#fff;font-family:var(--display);font-size:clamp(1.45rem,2vw,1.9rem);font-weight:700;line-height:1.02;letter-spacing:-.04em;padding:14px 20px;white-space:normal}
.repo-count-card strong{display:block;font-family:var(--display);font-size:clamp(1.35rem,2vw,2rem);line-height:1.05;letter-spacing:-.025em}
.repo-count-card p{margin:5px 0 0;color:var(--ink-soft)}
.repo-count-filtered{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--red);white-space:nowrap}
.repo-toolbar{margin:28px 0;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.search{flex:1 1 330px}
.filters{display:flex;gap:6px;flex-wrap:wrap}
.filter-btn{border:1px solid var(--line-strong);border-radius:999px;padding:9px 14px;background:transparent;cursor:pointer;font-family:var(--mono);font-size:.74rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em}
.filter-btn.active{background:var(--red);color:#fff;border-color:var(--red)}
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.project-card{min-height:315px;padding:28px;border:1px solid var(--line);border-radius:30px;display:flex;flex-direction:column;background:#fff;box-shadow:0 18px 48px rgba(23,19,16,.045);transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .38s ease,border-color .38s ease}
.project-card:hover{transform:translateY(-7px);border-color:rgba(224,0,28,.34);box-shadow:0 28px 76px rgba(23,19,16,.1)}
.project-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.project-card .tag{font-family:var(--mono);font-size:.66rem;color:var(--red);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.project-card .phase{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--red-tint);color:var(--red-deep);font-family:var(--mono);font-size:.58rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.project-card h3{margin:18px 0 12px;font-family:var(--display);font-size:clamp(1.35rem,2vw,2rem);font-weight:700;line-height:1.02;letter-spacing:-.035em}
.project-card p{margin:0;color:var(--ink-soft);font-size:.92rem;line-height:1.62}
.project-story{display:grid;gap:14px;margin-top:8px}
.project-story section{padding-top:13px;border-top:1px solid var(--line)}
.project-story strong{display:block;margin-bottom:6px;color:var(--ink);font-family:var(--mono);font-size:.64rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.project-story section:not(.project-tech) p{max-height:138px;overflow:auto;padding-right:6px}
.project-story-compact section:not(.project-tech) p{max-height:none;overflow:visible;padding-right:0}
.project-card-preview{margin-top:16px;padding:14px 16px;border:1px solid var(--line);border-radius:20px;background:var(--paper-soft);color:var(--ink-soft);font-size:.84rem;line-height:1.55}
.project-card-preview span{display:block;margin-bottom:4px;color:var(--red);font-family:var(--mono);font-size:.58rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.project-tech p{display:inline-flex;padding:7px 11px;border:1px solid var(--line-strong);border-radius:999px;background:var(--paper-soft);color:var(--ink);font-family:var(--mono);font-size:.68rem}
.project-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:18px}
.project-actions button.btn{cursor:pointer;border:0}
.project-actions .btn{min-height:42px;padding:9px 14px;font-size:.68rem}
.support-mini{color:var(--red);font-family:var(--mono);font-size:.68rem;font-weight:600;white-space:nowrap}
.project-public-modal{width:min(1120px,calc(100% - 28px));height:min(88dvh,760px);padding:0;border:0;border-radius:34px;background:transparent;color:var(--ink);box-shadow:0 42px 120px rgba(23,19,16,.38);overflow:hidden}
.project-public-modal::backdrop{background:rgba(23,19,16,.58);backdrop-filter:blur(9px)}
.project-public-shell{position:relative;display:grid;grid-template-columns:.82fr 1.18fr;height:100%;background:#fff;border:1px solid rgba(255,255,255,.35);border-radius:34px;overflow:hidden;animation:modalLift .42s cubic-bezier(.16,1,.3,1)}
.project-public-aside{position:relative;overflow-y:auto;min-height:100%;padding:clamp(28px,3.4vw,46px);background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:center}
.project-public-aside::before{content:"";position:absolute;inset:32px;border:1px solid rgba(255,255,255,.12);border-radius:26px;pointer-events:none}
.project-public-aside::after{content:"";position:absolute;right:-80px;top:-70px;width:230px;height:230px;border:38px solid rgba(224,0,28,.32);border-radius:50%;filter:blur(.2px)}
.project-public-aside h2{position:relative;margin:16px 0 14px;font-family:var(--display);font-size:clamp(2.1rem,4vw,4.25rem);line-height:.94;letter-spacing:-.05em;max-width:100%;overflow-wrap:break-word;word-break:normal;text-wrap:balance}
.project-public-aside h2.is-medium{font-size:clamp(1.9rem,3.45vw,3.45rem);line-height:.96}
.project-public-aside h2.is-long{font-size:clamp(1.55rem,2.8vw,2.8rem);line-height:1;letter-spacing:-.04em}
.project-public-aside h2.is-xlong{font-size:clamp(1.28rem,2.25vw,2.25rem);line-height:1.04;letter-spacing:-.025em}
.project-public-aside p{position:relative;margin:20px 0 0;color:rgba(255,255,255,.72);line-height:1.65}
.modal-pills{position:relative;display:flex;gap:8px;flex-wrap:wrap}.modal-pills span{padding:8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.06);font-family:var(--mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.06em}
.modal-support{position:relative;margin-top:22px;color:var(--red);font-family:var(--mono);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.project-public-copy{height:100%;overflow-y:auto;overscroll-behavior:contain;padding:clamp(28px,4vw,48px);display:grid;gap:14px;align-content:start}
.project-public-demo{position:relative;margin-top:16px;padding:16px;border:1px solid rgba(255,255,255,.13);border-radius:22px;background:rgba(255,255,255,.045)}
.project-public-demo strong{display:block;margin:8px 0 4px;color:#fff;font-family:var(--display);font-size:1rem;letter-spacing:-.015em}
.project-public-demo .demo-label{display:inline-flex;margin:0;padding:6px 10px;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:var(--red);font-size:.56rem}
.project-public-demo p{margin:0;color:rgba(255,255,255,.64);font-size:.78rem;line-height:1.5}
.project-public-demo-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
.project-public-demo .demo-link{width:auto;min-height:42px;margin:0;padding:10px 15px;font-family:var(--mono);font-size:.68rem;font-weight:700;white-space:nowrap}
.project-public-demo .demo-link{background:#fff;border-color:#fff;color:var(--ink)}
.project-aside-actions{position:relative;display:flex;gap:7px;align-items:center;flex-wrap:nowrap;margin-top:16px}
.project-aside-actions .team-whatsapp-action,.project-aside-actions .support-button,.project-aside-actions .aside-close{display:inline-flex;align-items:center;justify-content:center;min-height:38px;margin:0;padding:9px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;font-family:var(--mono);font-size:.58rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .25s ease,background .25s ease,border-color .25s ease}
.project-aside-actions .team-whatsapp-action{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 16px 38px rgba(224,0,28,.24)}
.project-aside-actions .team-whatsapp-action span{display:grid;place-items:center;width:18px;height:18px;margin:0 6px 0 0;border-radius:999px;background:#fff;color:var(--red);font-size:.66rem}
.project-aside-actions .support-button,.project-aside-actions .aside-close{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 16px 38px rgba(224,0,28,.16)}
.project-aside-actions .team-whatsapp-action:hover,.project-aside-actions .support-button:hover,.project-aside-actions .aside-close:hover{transform:translateY(-2px)}
.project-aside-actions .team-whatsapp-action:hover,.project-aside-actions .support-button:hover,.project-aside-actions .aside-close:hover{background:var(--red-deep);border-color:var(--red-deep)}
.aside-support-note{position:relative;margin:12px 0 0;padding-top:10px;border-top:1px solid rgba(255,255,255,.12);font-size:.74rem;color:rgba(255,255,255,.58)}
.aside-support-note span{display:inline;margin:0;color:var(--red);font-family:inherit;font-size:inherit;font-weight:700;letter-spacing:0;text-transform:none}
.project-public-copy section{padding:22px;border:1px solid var(--line);border-radius:24px;background:#fff}
.project-public-copy section:nth-child(even){background:var(--paper-soft)}
.project-public-copy section.project-public-meta{padding:16px 18px;border-radius:20px;background:#fff}
.project-public-copy span{display:block;margin-bottom:10px;color:var(--red);font-family:var(--mono);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.project-public-copy p{margin:0;color:var(--ink-soft);line-height:1.72}
.project-public-copy .project-public-meta span{font-size:.58rem;color:rgba(224,0,28,.72)}
.project-public-copy .project-public-meta p{font-size:.9rem;line-height:1.55;color:rgba(23,19,16,.62)}
.project-public-copy .members-list{line-height:1.55}
.project-public-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding:4px 0 2px}
.modal-close{position:absolute;right:18px;top:18px;z-index:4;width:42px;height:42px;border:1px solid var(--line-strong);border-radius:999px;background:#fff;color:var(--ink);font-size:1.35rem;line-height:1;cursor:pointer;box-shadow:0 12px 28px rgba(23,19,16,.08)}
.modal-close:hover{background:var(--red);border-color:var(--red);color:#fff}
@keyframes modalLift{from{opacity:0;transform:translateY(28px) scale(.975)}to{opacity:1;transform:none}}

/* fases */
.phase-roadmap{background:var(--ink);color:#fff}
.phase-roadmap .h2,.phase-roadmap .eyebrow{color:#fff}.phase-roadmap .eyebrow::before{background:var(--red)}
.phase-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}
.phase-grid-three{grid-template-columns:repeat(3,1fr)}
.phase-card{position:relative;overflow:hidden;min-height:260px;padding:26px;border:1px solid rgba(255,255,255,.14);border-radius:30px;background:rgba(255,255,255,.035);transition:transform .35s ease,border-color .35s ease,background .35s ease}
.phase-card:hover{transform:translateY(-7px);border-color:var(--red);background:rgba(224,0,28,.13)}
.phase-card::after{content:"";position:absolute;right:-54px;top:-54px;width:126px;height:126px;border:24px solid rgba(224,0,28,.18);border-radius:50%}
.phase-card span{font-family:var(--mono);font-size:.68rem;color:var(--red);letter-spacing:.09em;text-transform:uppercase;font-weight:600}
.phase-card h3{margin:42px 0 12px;font-family:var(--display);font-size:1.45rem;line-height:1.05}
.phase-card p{margin:0;color:rgba(255,255,255,.72);font-size:.92rem}
.phase-card.current{background:var(--red);border-color:var(--red)}.phase-card.current span{color:#fff}.phase-card.current p{color:rgba(255,255,255,.88)}

/* detalle de proyecto */
.project-detail-hero{padding:clamp(54px,8vw,104px) 0 48px;background:#fff;border-bottom:1px solid var(--line)}
.back-link{display:inline-flex;margin-bottom:28px;color:var(--red);font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
.project-detail-top{display:flex;gap:10px;flex-wrap:wrap}.project-detail-top .tag,.project-detail-top .phase{padding:8px 13px;border:1px solid var(--line-strong);border-radius:999px;font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.project-detail-top .tag{color:var(--red)}.project-detail-top .phase{background:var(--red-tint);color:var(--red-deep)}
.project-detail-hero h1{max-width:1050px;margin:22px 0 14px;font-family:var(--display);font-size:clamp(2.8rem,7vw,6.4rem);line-height:.92;letter-spacing:-.06em}
.project-detail-hero p{margin:0;color:var(--ink-soft);font-size:1.1rem}
.project-detail-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:42px;align-items:start}
.project-video-card{position:sticky;top:104px;padding:18px;border:1px solid var(--line);border-radius:32px;background:#fff;box-shadow:0 18px 52px rgba(23,19,16,.06)}
.project-video-card iframe,.video-placeholder{width:100%;aspect-ratio:16/9;border:0;border-radius:22px;background:var(--ink);color:#fff}
.video-placeholder{display:grid;place-items:center;text-align:center;padding:24px}.video-placeholder span{font-family:var(--display);font-size:1.4rem}.video-placeholder p{max-width:360px;margin:7px 0 0;color:rgba(255,255,255,.68)}
.demo-label{display:inline-flex;margin:0 0 12px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:999px;color:var(--red);font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.demo-link{display:flex;align-items:center;justify-content:center;margin-top:14px;min-height:52px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:#fff;font-family:var(--display);font-weight:700;text-decoration:none;transition:transform .2s ease,background .2s ease,border-color .2s ease}.demo-link:hover{transform:translateY(-2px);background:var(--red);border-color:var(--red)}
.support-button{width:100%;margin-top:14px;min-height:54px;border:0;border-radius:999px;background:var(--red);color:#fff;font-family:var(--display);font-weight:700;cursor:pointer}.support-button:hover{background:var(--red-deep)}.support-button:disabled{cursor:default;opacity:.78}
.support-note{margin:12px 4px 2px;color:var(--ink-soft);font-size:.88rem;line-height:1.55}.support-note span{color:var(--red);font-weight:700}
.project-detail-copy{display:grid;gap:14px}.project-detail-copy section{padding:28px;border:1px solid var(--line);border-radius:28px;background:#fff}.project-detail-copy span{font-family:var(--mono);font-size:.68rem;color:var(--red);font-weight:600}.project-detail-copy h2{margin:12px 0 10px;font-family:var(--display);font-size:clamp(1.5rem,2.5vw,2.3rem);line-height:1}.project-detail-copy p{margin:0;color:var(--ink-soft);line-height:1.75}
.project-meta{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:.68rem;color:var(--ink-soft)}
.empty{min-height:280px;border:1.5px dashed var(--line-strong);border-radius:var(--radius);display:grid;place-items:center;text-align:center;padding:36px}
.empty-mark{width:52px;height:52px;margin:0 auto 16px;border-radius:999px;border:1px solid var(--red);color:var(--red);display:grid;place-items:center;font-size:1.2rem}
.empty p{color:var(--ink-soft);max-width:560px}

/* recursos */
.resources{grid-template-columns:repeat(3,1fr)}
.resource-card{min-height:225px;display:flex;flex-direction:column}
.resource-link{margin-top:auto;padding-top:16px;color:var(--red);font-family:var(--mono);font-size:.76rem;font-weight:600;text-transform:uppercase}
.resource-card.disabled{background:var(--paper-soft);border-style:dashed}
.resource-card.disabled .mini-label,.resource-card.disabled .resource-link{color:var(--ink-soft)}
.timeline{margin-top:32px;border-top:1px solid var(--line)}
.timeline-item{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
.timeline-index{font-family:var(--mono);color:var(--red);font-weight:600}
.timeline-item h3{margin-bottom:6px}.timeline-item p{margin:0;color:var(--ink-soft)}
.status-pill{display:inline-block;margin-left:8px;padding:4px 9px;border-radius:999px;background:var(--red-tint);color:var(--red-deep);font-family:var(--mono);font-size:.6rem;letter-spacing:.04em;text-transform:uppercase;vertical-align:2px}

/* footer */
.footer{background:var(--ink);color:var(--paper);padding:56px 0 26px;position:relative}
.footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--red)}
.footer-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px}
.footer .eyebrow{color:var(--red)}.footer .eyebrow::before{background:var(--red)}
.footer-title{font-family:var(--display);margin:16px 0 0;font-size:clamp(1.7rem,2.8vw,2.6rem);line-height:1.08;letter-spacing:-.02em;font-weight:600;max-width:600px}
.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 20px;align-content:start;font-size:.86rem;font-family:var(--mono)}
.footer-links a{padding:5px 0;color:#c9c2b8}.footer-links a:hover{color:#fff}
.footer-bottom{margin-top:42px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#948d83;font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}

/* reveal */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.reveal.visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}

/* ---------- responsive ---------- */
@media (max-width:1050px){
  .split,.form-shell{grid-template-columns:1fr;gap:36px}.sticky,.form-aside{position:static}
  .category-grid,.process{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}.people{grid-template-columns:repeat(2,1fr)}
  .logo-grid{grid-template-columns:1fr 1fr}.institution-card:last-child{grid-column:1/-1}
  .projects-grid,.resources{grid-template-columns:repeat(2,1fr)}
  .project-public-modal{height:min(92dvh,860px)}
  .project-public-shell{grid-template-columns:1fr;overflow-y:auto}
  .project-public-aside{min-height:auto;padding:32px 34px 28px;justify-content:flex-start}
  .project-public-aside h2{font-size:clamp(2rem,7vw,3.4rem)}
  .project-public-copy{height:auto;overflow:visible}
}
@media (max-width:820px){
  .container{width:min(calc(100% - 32px),var(--max))}
  .nav{min-height:66px}.brand-copy{font-size:.86rem}.brand-mark{width:34px;height:34px}
  .menu-toggle{display:block}
  .nav-links{position:fixed;left:16px;right:16px;top:66px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:10px;opacity:0;transform:translateY(-10px);pointer-events:none;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;box-shadow:0 20px 40px rgba(0,0,0,.12)}
  .nav-links.open{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .2s ease,transform .2s ease}
  .nav-links:not(.open){visibility:hidden}
  .nav-links:not(.open) *{pointer-events:none!important}
  .nav-links a{padding:13px 12px}.nav-cta{margin-left:0;margin-top:4px;text-align:center}
  .nav-dropdown{display:grid;gap:4px}.nav-drop-toggle{text-align:left;padding:13px 12px}.nav-drop-menu{position:static;min-width:0;padding:4px 0 4px 12px;border:0;background:transparent;box-shadow:none;opacity:1;transform:none;pointer-events:auto}.nav-drop-menu a{padding:10px 12px!important;background:var(--paper-soft)}
  .intro-row{grid-template-columns:1fr}
  .callout{grid-template-columns:1fr}.info-grid,.org-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .section{padding:44px 0}.section.compact{padding:34px 0}
  .category-grid,.process,.stats,.people,.logo-grid,.projects-grid,.resources{grid-template-columns:1fr}
  .institution-card:last-child{grid-column:auto}
  .field-grid{grid-template-columns:1fr}.field.full{grid-column:auto}
  .page-hero{min-height:260px}.page-marker{right:20px;bottom:20px}
  .page-marker svg{width:72px;height:20px}
  .timeline-item{grid-template-columns:40px 1fr}
  .footer-links{grid-template-columns:1fr}
  .project-public-modal{width:calc(100% - 18px);height:92dvh;border-radius:26px}
  .project-public-shell{border-radius:26px}
  .project-public-aside{padding:28px 24px}.project-public-aside::before{inset:16px;border-radius:20px}
  .project-public-aside h2,.project-public-aside h2.is-medium,.project-public-aside h2.is-long,.project-public-aside h2.is-xlong{font-size:clamp(1.75rem,10vw,3rem);line-height:.98}
  .project-aside-actions{flex-wrap:wrap}
  .project-aside-actions .team-whatsapp-action,.project-aside-actions .support-button,.project-aside-actions .aside-close{flex:1 1 auto}
  .project-public-copy{padding:22px}.project-public-copy section{padding:18px;border-radius:20px}
  .project-public-actions{justify-content:stretch}.project-public-actions .btn{width:100%;justify-content:center}
  .project-public-demo{grid-template-columns:1fr}.project-public-demo-actions{justify-content:stretch}.project-public-demo .demo-link,.project-public-demo .support-button{width:100%;justify-content:center}
}

/* ============================================================
   PORTADA · SISTEMA EDITORIAL UNIFICADO
   La cabecera y la firma animada permanecen intactas. Desde el
   resumen en adelante: blanco, negro y rojo; sin fondos crema.
   ============================================================ */
.home-page main>section:not(.hero){font-family:var(--display)}
.home-page main>section:not(.hero) p{font-family:var(--display)}
.home-page main>section:not(.hero) .eyebrow,
.home-page main>section:not(.hero) .summary-index,
.home-page main>section:not(.hero) .num,
.home-page main>section:not(.hero) .step-index,
.home-page main>section:not(.hero) .tech-chip{font-family:var(--display);font-weight:600}
.home-page main>section:not(.hero) .h2{font-weight:700;letter-spacing:-.04em}

/* Resumen: dos ideas dentro de una sola composición curva */
.home-page .event-summary{padding:clamp(62px,8vw,108px) 0;background:#fff;border-top:0;border-bottom:0}
.home-page .summary-intro{grid-template-columns:.32fr 1fr;padding:0 0 clamp(38px,5vw,58px);border-bottom:0;gap:48px}
.home-page .summary-intro p{font-size:clamp(1.35rem,2.3vw,2rem);line-height:1.38;letter-spacing:-.025em}
.home-page .summary-grid{position:relative;grid-template-columns:.9fr 1.1fr;gap:18px;padding:0;border:0;background:transparent}
.home-page .summary-block{min-height:430px;padding:clamp(32px,4vw,52px);border:1px solid var(--line-strong);border-radius:32px;background:#fff;overflow:hidden;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,border-color .45s ease}
.home-page .summary-block:hover{transform:translateY(-8px);border-color:rgba(224,0,28,.45);box-shadow:0 28px 70px rgba(23,19,16,.1)}
.home-page .summary-block h2{font-size:clamp(2rem,3.5vw,3.5rem);font-weight:700}
.home-page .summary-block p{font-size:1rem;line-height:1.7}
.home-page .summary-block blockquote{margin:auto 0 0;padding:23px 25px;border:0;border-radius:22px;background:var(--red);font-size:clamp(1.2rem,1.7vw,1.55rem)}
.home-page .summary-block blockquote strong{color:#fff}
.home-page .summary-principle{background:var(--ink);border-color:var(--ink);color:#fff}
.home-page .summary-principle p,.home-page .summary-principle p strong{color:rgba(255,255,255,.78)}
.home-page .summary-principle .summary-index{color:var(--red)}

/* Categorías: pausa oscura y tarjetas con profundidad */
.home-page #categorias{background:var(--ink);color:#fff;border:0;overflow:hidden}
.home-page #categorias::after{content:"";position:absolute;width:360px;height:360px;right:-180px;top:-180px;border:70px solid rgba(224,0,28,.1);border-radius:50%;pointer-events:none}
.home-page #categorias .eyebrow{color:var(--red)}
.home-page #categorias .category-grid{gap:16px}
.home-page #categorias .card{min-height:320px;padding:30px;border-color:rgba(255,255,255,.16);border-radius:28px;background:rgba(255,255,255,.035);color:#fff;backdrop-filter:blur(4px);transition:transform .42s cubic-bezier(.2,.8,.2,1),background .35s ease,border-color .35s ease,box-shadow .35s ease}
.home-page #categorias .card::after{content:"↗";position:absolute;right:25px;top:23px;width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:var(--red);transition:transform .4s ease,background .3s ease,color .3s ease}
.home-page #categorias .card:hover{transform:translateY(-10px);background:var(--red);border-color:var(--red);box-shadow:0 26px 60px rgba(0,0,0,.25)}
.home-page #categorias .card:hover::after{transform:rotate(45deg);background:#fff;color:var(--ink)}
.home-page #categorias .card:hover .num{color:#fff}.home-page #categorias .card p{color:rgba(255,255,255,.68)}
.home-page #categorias .card:hover p{color:rgba(255,255,255,.9)}
.home-page #categorias .card h3{font-size:1.4rem}

/* Proceso + herramientas: una sola sección blanca */
.home-page .proposal-lab{padding:clamp(70px,9vw,120px) 0;background:#fff;border:0}
.home-page .proposal-process{padding-bottom:clamp(58px,7vw,90px)}
.home-page .proposal-process .process{gap:14px}
.home-page .proposal-process .step{position:relative;min-height:250px;padding:28px;border-color:var(--line-strong);border-radius:28px;overflow:hidden;transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .35s ease,box-shadow .35s ease}
.home-page .proposal-process .step::before{content:"";position:absolute;width:110px;height:110px;right:-70px;top:-70px;border-radius:50%;background:var(--red);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.home-page .proposal-process .step:hover{transform:translateY(-8px);border-color:rgba(224,0,28,.5);box-shadow:0 22px 52px rgba(23,19,16,.09)}
.home-page .proposal-process .step:hover::before{transform:scale(1.35)}
.home-page .proposal-tools{padding:clamp(42px,5vw,64px);border:0;border-radius:34px;background:var(--ink);color:#fff;overflow:hidden}
.home-page .proposal-tools::before{right:40px;top:32px;padding:0;background:transparent;color:rgba(255,255,255,.38)}
.home-page .proposal-tools .statement{color:#fff}
.home-page .proposal-tools .tech-cloud{gap:10px}
.home-page .proposal-tools .tech-chip{border-color:rgba(255,255,255,.22);background:transparent;color:#fff;padding:9px 15px;transition:transform .3s ease,background .3s ease,border-color .3s ease}
.home-page .proposal-tools .tech-chip:hover{transform:translateY(-3px);background:var(--red);border-color:var(--red)}

/* Llamada a la acción: misma curva y sin bloque crema alrededor */
.home-page .dual-cta{border-radius:34px;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease}
.home-page .dual-cta:hover{transform:translateY(-6px);box-shadow:0 34px 80px rgba(18,15,13,.22)}

/* Organización: alternancia blanco/negro y bordes curvos coherentes */
.home-page .organizers-duo{grid-template-columns:1fr 1fr;padding:clamp(28px,4vw,58px);gap:18px;background:#fff;border:0}
.home-page .organizers-half{min-height:560px;border-radius:34px;overflow:hidden}
.home-page .organizers-light{border:1px solid var(--line-strong);background:#fff}
.home-page .organizers-dark{border:0;background:var(--ink);color:#fff}
.home-page .organizers-dark .coordinator-list{border-color:rgba(255,255,255,.2)}
.home-page .organizers-dark .coordinator-list>div{border-color:rgba(255,255,255,.16);transition:padding-left .3s ease,color .3s ease}
.home-page .organizers-dark .coordinator-list>div:hover{padding-left:10px;color:var(--red)}
.home-page .org-display{font-family:var(--display);font-size:clamp(2.8rem,4.6vw,4.7rem);line-height:.95;text-transform:none}
.home-page .org-red-note{border-radius:22px}

/* Franja institucional limpia: logotipos dados por la organización */
.home-page .logo-end{padding:clamp(58px,7vw,88px) 0;background:#fff;border:0}
.home-page .logo-end-row{margin-top:30px;align-items:stretch;gap:12px}
.home-page .institution-mark{min-height:150px;max-width:none;flex:1 1 190px;flex-direction:column;gap:14px;padding:20px;border:1px solid var(--line);border-radius:26px;background:#fff;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.home-page .institution-mark:hover{transform:translateY(-7px);border-color:rgba(224,0,28,.38);box-shadow:0 22px 48px rgba(23,19,16,.08)}
.home-page .institution-mark img{height:76px;max-width:160px;filter:none;mix-blend-mode:multiply;background:transparent;padding:0;border-radius:0;object-fit:contain}
.home-page .institution-wordmark img{width:auto;max-width:190px;object-fit:contain}
.home-page .career-commercial img{max-width:180px;height:72px}
.home-page .career-international .career-image{height:78px;width:100px;overflow:hidden;display:grid;place-items:center}
.home-page .career-international .career-image img{width:78px;height:78px;max-width:none;object-fit:cover;object-position:left}
.home-page .institution-mark>span:last-child{font-family:var(--display);font-size:.68rem;line-height:1.35;text-align:center;color:var(--ink);letter-spacing:.04em}

/* Reveal más perceptible y con acabado suave */
.home-page main>section:not(.hero) .reveal{opacity:0;transform:translateY(34px) scale(.985);filter:blur(5px);transition:opacity .8s ease,transform .9s cubic-bezier(.16,1,.3,1),filter .8s ease}
.home-page main>section:not(.hero) .reveal.visible{opacity:1;transform:none;filter:none}

@media (max-width:1050px){
  .home-page .summary-grid{grid-template-columns:1fr}.home-page .summary-block{min-height:auto}
  .home-page .organizers-duo{grid-template-columns:1fr}.home-page .organizers-half{min-height:auto}
}
@media (max-width:820px){
  .home-page .summary-intro{grid-template-columns:1fr;gap:18px}
  .home-page .proposal-tools{padding:34px 28px}.home-page .proposal-tools::before{display:none}
  .home-page .organizers-duo{padding:16px;gap:14px}.home-page .organizers-half{border-radius:26px}
}
@media (max-width:600px){
  .home-page .event-summary{padding:52px 0}.home-page .summary-block{padding:28px;border-radius:24px}
  .home-page #categorias .card,.home-page .proposal-process .step{min-height:240px;border-radius:24px}
  .home-page .proposal-tools,.home-page .dual-cta{border-radius:26px}
  .home-page .institution-mark{flex-basis:145px;min-height:135px;padding:15px;border-radius:22px}
}
@media (prefers-reduced-motion:reduce){
  .home-page main>section:not(.hero) .reveal{filter:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .sig-noise,.sig-line,.sig-node,.sig-dot,.hero-title em{animation:none!important}
  .sig-line{stroke-dashoffset:0}.sig-node{opacity:1}
  .reveal{opacity:1;transform:none;transition:none}.btn,.card{transition:none}
}
@media print{
  .site-header,.btn,.menu-toggle{display:none!important}
  .reveal{opacity:1;transform:none}.section{break-inside:avoid}
}


/* ============================================================
   AJUSTES FINALES · AGOSTO 2026
   Se conserva la portada y su animación. Se refuerzan convocatoria,
   inscripción, proyectos y el cierre institucional limpio.
   ============================================================ */
:root{--hero-display:"Barlow Condensed","Arial Narrow",Impact,sans-serif}
.hero-title{font-family:var(--hero-display);font-weight:900;letter-spacing:-.025em;word-spacing:.09em;line-height:.84;font-size:clamp(4.2rem,10.5vw,9.4rem)}
.hero-title em{font-weight:900;font-style:italic;transform:skewX(-4deg)}

.btn.white{background:#fff;color:var(--ink);border-color:#fff}.btn.white:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.open-call{background:var(--red);color:#fff;border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid var(--red-deep)}
.open-call-inner{min-height:126px;display:flex;justify-content:space-between;align-items:center;gap:32px;padding-top:24px;padding-bottom:24px}
.open-call-copy{display:grid;gap:4px}.open-call-kicker{font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.open-call-copy strong{font-family:var(--display);font-size:clamp(1.55rem,2.5vw,2.45rem);line-height:1.05;letter-spacing:-.02em}.open-call-copy>span:last-child{color:rgba(255,255,255,.86)}
.open-call-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.open-call-link{font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:3px}

.principle-section{background:var(--ink);color:var(--paper)}
.principle-section .eyebrow{color:var(--red)}.principle-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;align-items:start}
.principle-copy{margin:0;font-family:var(--display);font-size:clamp(1.3rem,2.25vw,2rem);line-height:1.45;letter-spacing:-.018em;color:#eee9e1}

.proposal-lab{background:#fff}.proposal-process{padding-bottom:clamp(46px,6vw,76px)}
.proposal-tools{padding-top:clamp(42px,5vw,64px);border-top:1px solid var(--line-strong)}
.proposal-tools::before{content:"IDEA  →  PROPUESTA  →  DEMOSTRACIÓN";position:absolute;right:0;top:-10px;padding-left:18px;background:#fff;color:var(--red);font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.1em}
.proposal-tools{position:relative}.proposal-tools .statement{max-width:720px}

.dual-cta{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;align-items:center;gap:46px;padding:clamp(36px,5vw,58px);border:0;border-radius:26px;background:var(--ink);color:#fff;text-decoration:none;box-shadow:0 24px 60px rgba(18,15,13,.16)}
.dual-cta::before{content:"";position:absolute;inset:0 auto 0 0;width:8px;background:var(--red)}
.dual-cta::after{content:"?";position:absolute;right:28%;bottom:-54px;font-family:var(--hero-display);font-size:12rem;font-weight:900;line-height:1;color:rgba(255,255,255,.045);pointer-events:none}
.dual-cta>div{position:relative;z-index:1}.dual-cta .eyebrow{color:var(--red)}
.dual-cta h2{margin:12px 0 10px;font-family:var(--display);font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.02;letter-spacing:-.03em;max-width:760px}.dual-cta p{margin:0;color:rgba(255,255,255,.68);max-width:700px}.dual-cta-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.dual-cta .btn{min-height:52px;padding-inline:24px}.dual-cta .btn.light{background:#fff;border-color:#fff;color:var(--ink)}.dual-cta .btn.light:hover{background:var(--red);border-color:var(--red);color:#fff}
.hero-showcase-cta,
.hero-showcase-cta .dual-cta-actions,
.hero-showcase-cta .btn{position:relative;z-index:8}
.hero-showcase-cta .btn{touch-action:manipulation;-webkit-tap-highlight-color:rgba(224,0,28,.2)}

/* Organizan: composición dividida, editorial y sin tarjetas */
.organizers-duo{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.organizers-half{min-height:560px;display:flex;align-items:stretch}.organizers-light{background:#fff;color:#111}.organizers-dark{background:#fff;color:#111;border-left:1px solid var(--line)}
.org-panel-inner{width:min(100% - 10vw,640px);margin:auto;padding:62px 0}
.organizers-light .org-panel-inner{margin-right:5vw}.organizers-dark .org-panel-inner{margin-left:5vw}
.org-display{font-family:var(--hero-display);font-size:clamp(3.1rem,5vw,5rem);line-height:.92;letter-spacing:-.035em;text-transform:uppercase;margin:24px 0 34px;font-weight:900;max-width:580px}
.org-lines{border-top:1px solid rgba(17,17,17,.55)}.org-lines>div{padding:20px 0;border-bottom:1px solid rgba(17,17,17,.55);display:grid;gap:5px}.org-lines strong{font-size:1rem}.org-lines span{font-size:.86rem;color:#6d675e}
.organizers-dark .eyebrow{color:var(--red)}.coordinator-list{margin-top:26px;border-top:1px solid var(--line-strong)}.coordinator-list>div{padding:20px 0;border-bottom:1px solid var(--line-strong);font-weight:600}
.org-red-note{margin-top:30px;background:var(--red);color:#fff;padding:24px 26px;font-weight:600;line-height:1.45}

.logo-end{background:#fff;padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.logo-end-row{display:flex;align-items:stretch;justify-content:center;gap:12px;flex-wrap:wrap}
.institution-mark{min-height:112px;flex:1 1 170px;max-width:225px;display:flex;align-items:center;justify-content:center;gap:13px;padding:15px;background:transparent}
.institution-mark img{height:68px;max-width:92px;width:auto;object-fit:contain;mix-blend-mode:multiply;filter:none}
.institution-mark>span:last-child{font-family:var(--mono);font-size:.62rem;font-weight:600;line-height:1.4;letter-spacing:.035em;text-transform:uppercase}
.institution-wordmark img{width:58px;object-fit:cover;object-position:left;mix-blend-mode:normal;filter:none;background:#161311;border-radius:10px;padding:5px}
.career-mark img{height:76px;max-width:76px}.career-symbol{width:68px;height:68px;display:grid;place-items:center;border-radius:18px;background:var(--red);color:#fff;font-family:var(--hero-display)!important;font-size:2.2rem!important;font-weight:900;letter-spacing:-.06em!important}
.career-commercial{position:relative}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:90;display:inline-flex;align-items:center;gap:12px;min-height:66px;padding:8px 20px 8px 9px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;box-shadow:0 18px 46px rgba(18,15,13,.28);transition:transform .22s ease,background .22s ease,box-shadow .22s ease}
.whatsapp-icon{width:48px;height:48px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--red);color:#fff}.whatsapp-icon svg{width:26px;height:26px;fill:currentColor}
.whatsapp-copy{display:grid;line-height:1.05}.whatsapp-copy small{font-family:var(--mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.58)}.whatsapp-copy strong{margin-top:5px;font-size:.92rem;letter-spacing:.01em}
.whatsapp-float:hover{background:var(--red);color:#fff;transform:translateY(-4px);box-shadow:0 22px 52px rgba(231,0,28,.26)}.whatsapp-float:hover .whatsapp-icon{background:#fff;color:var(--ink)}

/* Convocatoria editorial */
.call-page-hero{background:linear-gradient(180deg,#fff 0%,#fbf9f6 100%)}
.deadline-section{padding:0 0 30px;background:#fbf9f6;border-bottom:1px solid var(--line)}
.deadline-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;transform:translateY(1px)}
.deadline-block{min-height:300px;padding:34px;border:1px solid var(--red);background:var(--red);color:#fff;display:flex;flex-direction:column;border-radius:var(--radius)}
.deadline-block.dark{background:var(--ink);border-color:var(--ink)}.deadline-block>span{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;opacity:.8}.deadline-block strong{font-family:var(--hero-display);font-size:clamp(3rem,5vw,5.2rem);line-height:.88;text-transform:uppercase;letter-spacing:-.03em;margin:28px 0 10px}.deadline-block small{font-family:var(--mono);opacity:.72}.deadline-block a{margin-top:auto;font-family:var(--mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;border-top:1px solid rgba(255,255,255,.38);padding-top:16px}
.editorial-section{background:#fff}.editorial-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:76px;align-items:start}.editorial-index{position:sticky;top:112px}.long-copy{max-width:820px}.long-copy p{font-size:1.08rem;line-height:1.75;color:var(--ink-soft);margin:0 0 24px}.long-copy p.opening{font-size:clamp(1.35rem,2.05vw,1.9rem);line-height:1.5;color:var(--ink);letter-spacing:-.012em}.long-copy strong{color:var(--ink)}
.presentation-section{background:var(--paper-soft)}.presentation-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.presentation-list{border-top:1px solid var(--line-strong)}.presentation-list>div{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:21px 0;border-bottom:1px solid var(--line-strong)}.presentation-list span{font-family:var(--mono);font-size:.72rem;color:var(--red);font-weight:600}.presentation-list p{margin:0;color:var(--ink-soft);line-height:1.55}.presentation-list strong{color:var(--ink)}

/* Inscripción */
.registration-hero strong{color:var(--red)}.registration-deadline{background:var(--red);color:#fff}.registration-deadline-inner{min-height:94px;display:grid;grid-template-columns:auto auto 1fr;gap:24px;align-items:center}.registration-deadline-inner span{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em}.registration-deadline-inner strong{font-family:var(--hero-display);font-size:2.25rem;line-height:1;text-transform:uppercase;letter-spacing:-.02em}.registration-deadline-inner em{font-style:normal;justify-self:end;color:rgba(255,255,255,.85)}
.form-aside-note{margin-top:24px;color:var(--ink-soft);border-left:3px solid var(--red);padding-left:16px}.next-date{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:28px 0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.next-date span{font-family:var(--mono);font-size:.7rem;color:var(--red);text-transform:uppercase;letter-spacing:.08em}.next-date strong{font-family:var(--display);font-size:1.25rem}.next-date a{font-family:var(--mono);font-size:.74rem;text-transform:uppercase;color:var(--red);font-weight:600}

/* Proyectos */
.page-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.projects-hero{min-height:370px}.project-promo{background:var(--ink);color:#fff;padding:18px 0}.project-promo-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px}.project-promo-main,.project-promo-side{min-height:230px;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);padding:28px}.project-promo-main{background:var(--red);border-color:var(--red);display:flex;flex-direction:column}.project-promo-main .eyebrow{color:#fff}.project-promo-main strong,.project-promo-side strong{display:block;font-family:var(--display);font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.05;margin:18px 0 9px}.project-promo-main p,.project-promo-side p{margin:0;max-width:650px;color:rgba(255,255,255,.86)}.project-promo-main a{margin-top:auto;font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.project-promo-side{display:flex;flex-direction:column;justify-content:flex-end}.project-promo-side>span{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;color:var(--red)}

@media (max-width:1050px){
  .edit-modal-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.edit-panel-dark{min-height:auto;padding:26px 32px}.edit-panel-dark .edit-rules{display:none}.edit-code-step{padding-right:0}
  .phase-grid{grid-template-columns:repeat(2,1fr)}.project-detail-grid{grid-template-columns:1fr}.project-video-card{position:static}
  .principle-grid,.editorial-grid,.presentation-grid{grid-template-columns:1fr;gap:34px}.editorial-index{position:static}
  .organizers-duo{grid-template-columns:1fr}.organizers-half{min-height:auto}.org-panel-inner,.organizers-light .org-panel-inner,.organizers-dark .org-panel-inner{width:min(calc(100% - 8vw),var(--max));margin:auto;padding:54px 0}
  .dual-cta{grid-template-columns:1fr}.dual-cta-actions{justify-content:flex-start}
}
@media (max-width:820px){
  .edit-entry-card{grid-template-columns:1fr;align-items:start}
  .repo-count-card{grid-template-columns:1fr}.repo-count-number{width:100%;min-width:0}.repo-count-filtered{white-space:normal}
  .hero-showcase-cta{grid-template-columns:1fr}.hero-showcase-cta .dual-cta-actions{justify-content:flex-start}
  .hero-nav-grid{grid-template-columns:repeat(2,1fr)}
  .summary-intro{grid-template-columns:1fr;gap:18px}.summary-grid{grid-template-columns:1fr}.summary-block{min-height:auto;border-bottom:1px solid var(--line)}
  .open-call-inner{align-items:flex-start;flex-direction:column}.deadline-grid,.project-promo-grid{grid-template-columns:1fr}.deadline-block{min-height:255px}
  .registration-deadline-inner{grid-template-columns:1fr;gap:4px;padding:18px 0}.registration-deadline-inner em{justify-self:start}
  .next-date{grid-template-columns:1fr;gap:6px}.organizers-half .org-panel-inner{width:min(calc(100% - 32px),var(--max))}
}
@media (max-width:600px){
  .hero-nav-grid{grid-template-columns:1fr}.hero-nav-grid a,.hero-nav-grid button{min-height:92px}
  .phase-grid{grid-template-columns:1fr}.phase-card{min-height:220px}.project-actions{align-items:flex-start;flex-direction:column}.project-detail-copy section{padding:22px;border-radius:22px}
  .edit-modal{width:calc(100% - 16px);height:94dvh;border-radius:26px}.edit-modal-shell{border-radius:26px}.edit-panel{padding:24px}.edit-panel-dark{padding:24px}.edit-panel h2{font-size:2rem}.edit-code-row{grid-template-columns:1fr}.edit-close{right:10px;top:10px}
  .summary-intro{padding:34px 0}.summary-block{padding:28px 22px}.summary-block h2{font-size:2rem}
  .hero-title{font-size:clamp(4rem,20vw,6.8rem);line-height:.82}.open-call{margin-top:6px}.open-call-actions{align-items:flex-start;flex-direction:column}
  .deadline-block{padding:26px}.deadline-block strong{font-size:3.45rem}.org-display{font-size:3.6rem}.org-red-note{padding:20px}.institution-mark{flex-basis:145px;min-height:100px}.institution-mark img{height:58px}.proposal-tools::before{display:none}
  .whatsapp-float{right:12px;bottom:12px;min-height:58px;padding:7px 15px 7px 7px}.whatsapp-icon{width:43px;height:43px}.whatsapp-copy small{display:none}
}

/* ============================================================
   CONVOCATORIA · DEL PROBLEMA A LA PROPUESTA
   Continuidad visual con portada: blanco, negro, rojo y curvas.
   ============================================================ */
.call-page main{font-family:var(--display);background:#fff}
.call-page main p,.call-page main .eyebrow,.call-page main .summary-index,
.call-page main .deadline-block>span,.call-page main .deadline-block small,
.call-page main .deadline-block a,.call-page main .presentation-list span{font-family:var(--display)}
.call-page .h2{font-family:var(--display);font-weight:700;letter-spacing:-.04em}

/* Apertura propia de convocatoria */
.call-intro{position:relative;overflow:hidden;padding:clamp(46px,5.8vw,74px) 0 24px;background:#fff}
.call-intro::before{content:"2026";position:absolute;right:-.03em;top:-.22em;font-family:var(--display);font-size:clamp(10rem,25vw,24rem);font-weight:700;line-height:1;color:rgba(23,19,16,.025);letter-spacing:-.08em;pointer-events:none}
.call-intro-top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.call-open{display:inline-flex;align-items:center;gap:9px;padding:9px 15px;border:1px solid var(--line-strong);border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.call-open i{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(224,0,28,.35);animation:callPulse 2s infinite}
@keyframes callPulse{50%{box-shadow:0 0 0 8px rgba(224,0,28,0)}}
.call-intro-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,330px);gap:clamp(34px,5vw,72px);align-items:end;margin-top:clamp(36px,5vw,58px)}
.call-title{margin:0;font-family:var(--display);font-size:clamp(4.2rem,8.9vw,8.6rem);font-weight:700;line-height:.78;letter-spacing:-.072em}
.call-title span{color:var(--red)}
.call-claim{margin:clamp(24px,3.2vw,38px) 0 0;font-size:clamp(1.8rem,3.35vw,3.65rem);font-weight:600;line-height:1;letter-spacing:-.052em}
.call-intro-note{position:relative;justify-self:end;width:min(100%,330px);padding:28px 30px;border:1px solid var(--line-strong);border-radius:28px;background:rgba(255,255,255,.78);backdrop-filter:blur(12px);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease,border-color .4s ease}
.call-intro-note:hover{transform:translateY(-7px);border-color:rgba(224,0,28,.5);box-shadow:0 24px 54px rgba(23,19,16,.1)}
.call-intro-note>span{font-size:.68rem;color:var(--red);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.call-intro-note p{margin:18px 0 30px;color:var(--ink-soft);font-size:.98rem;line-height:1.6}
.call-intro-note a{display:flex;justify-content:space-between;align-items:center;padding-top:17px;border-top:1px solid var(--line);font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.call-intro-note a i{font-style:normal;color:var(--red);font-size:1.2rem;transition:transform .3s ease}.call-intro-note a:hover i{transform:translateY(4px)}
.call-trace{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin-top:26px;color:var(--ink-soft);font-size:.62rem;font-weight:600;letter-spacing:.1em}
.call-trace svg{width:100%;height:70px;overflow:visible}.call-noise{fill:none;stroke:#c7c0b6;stroke-width:2.4;stroke-dasharray:4 9;animation:sigDash 6s linear infinite}.call-line{fill:none;stroke:var(--red);stroke-width:4;stroke-linecap:round;stroke-dasharray:720;stroke-dashoffset:720;animation:sigDraw 1.8s .35s cubic-bezier(.3,.85,.25,1) forwards;filter:drop-shadow(0 5px 12px rgba(224,0,28,.24))}

/* Fechas curvas, grandes y con interacción */
.call-page .deadline-section{padding:18px 0 clamp(60px,7vw,92px);background:#fff;border:0}
.call-page .deadline-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;transform:none}
.call-page .deadline-block{position:relative;min-height:295px;padding:clamp(22px,2.35vw,30px);border:0;border-radius:32px;overflow:hidden;box-shadow:none;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease}
.call-page .deadline-block::after{content:"";position:absolute;width:220px;height:220px;right:-115px;top:-115px;border:42px solid rgba(255,255,255,.13);border-radius:50%;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.call-page .deadline-block:hover{transform:translateY(-9px);box-shadow:0 30px 70px rgba(23,19,16,.18)}
.call-page .deadline-block:hover::after{transform:scale(1.2) rotate(20deg)}
.call-page .deadline-block>span{font-size:clamp(.56rem,.63vw,.66rem);font-weight:600;letter-spacing:.09em}
.call-page .deadline-block strong{font-family:var(--display);font-size:clamp(2rem,2.52vw,3.05rem);font-weight:700;line-height:.93;letter-spacing:-.052em;text-transform:none;margin:30px 0 12px;max-width:100%;overflow-wrap:normal}
.call-page .deadline-block small{font-size:clamp(.66rem,.72vw,.76rem);font-weight:600;line-height:1.35}
.call-page .deadline-block a{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;font-size:.74rem;font-weight:600;letter-spacing:.06em}
.call-page .deadline-block a b{font-size:1.15rem;transition:transform .3s ease}.call-page .deadline-block a:hover b{transform:translateX(6px)}
.call-page .deadline-block.soft{background:#fff;color:var(--ink);border:1px solid var(--line-strong);box-shadow:0 18px 52px rgba(23,19,16,.06)}
.call-page .deadline-block.soft::after{border-color:rgba(224,0,28,.12)}
.call-page .deadline-block.soft>span{color:var(--red);opacity:1}
.call-page .deadline-block.soft small{color:var(--ink-soft);line-height:1.45}
.call-page .deadline-block.soft a{border-top-color:var(--line-strong);color:var(--red)}
.call-page .deadline-block.final{background:linear-gradient(145deg,var(--ink) 0%,#241d19 55%,var(--red-deep) 140%);border:1px solid rgba(224,0,28,.25)}
.call-page .deadline-block.final::after{border-color:rgba(224,0,28,.24)}

/* Cuerpo editorial: composición enmarcada, sin crema */
.call-page .editorial-section{padding:clamp(72px,9vw,118px) 0;background:#fff;border:0}
.call-page .editorial-section .editorial-grid{position:relative;grid-template-columns:.72fr 1.28fr;gap:clamp(44px,7vw,96px);padding:clamp(34px,5vw,62px);border:1px solid var(--line-strong);border-radius:34px;background:#fff;transition:border-color .4s ease,box-shadow .4s ease}
.call-page .editorial-section .editorial-grid:hover{border-color:rgba(224,0,28,.35);box-shadow:0 24px 64px rgba(23,19,16,.07)}
.call-page .editorial-index{top:110px}
.call-page .long-copy p{font-family:var(--display);font-size:1.05rem;line-height:1.75;margin-bottom:25px}
.call-page .long-copy p:last-child{margin-bottom:0}
.call-page .long-copy p.opening{font-size:clamp(1.3rem,2vw,1.85rem);line-height:1.5}

/* Criterio central oscuro */
.call-page .principle-section{padding:clamp(76px,9vw,120px) 0;background:var(--ink);border:0}
.call-page .principle-grid{align-items:center;gap:clamp(50px,8vw,110px)}
.call-page .principle-copy{padding:clamp(30px,4vw,48px);border:1px solid rgba(255,255,255,.16);border-radius:30px;background:rgba(255,255,255,.035);font-family:var(--display);transition:transform .4s ease,border-color .4s ease}
.call-page .principle-copy:hover{transform:translateY(-6px);border-color:rgba(224,0,28,.65)}

/* Categorías convertidas en cuatro renglones interactivos */
.call-page .editorial-section:nth-of-type(5) .long-copy{counter-reset:callCategory}
.call-page .editorial-section:nth-of-type(5) .long-copy p{counter-increment:callCategory;position:relative;margin:0;padding:24px 56px 24px 48px;border-top:1px solid var(--line);transition:padding-left .3s ease,color .3s ease}
.call-page .editorial-section:nth-of-type(5) .long-copy p:last-child{border-bottom:1px solid var(--line)}
.call-page .editorial-section:nth-of-type(5) .long-copy p::before{content:"0" counter(callCategory);position:absolute;left:0;top:27px;color:var(--red);font-size:.7rem;font-weight:600}
.call-page .editorial-section:nth-of-type(5) .long-copy p::after{content:"↗";position:absolute;right:4px;top:25px;color:var(--red);transition:transform .3s ease}
.call-page .editorial-section:nth-of-type(5) .long-copy p:hover{padding-left:58px;color:var(--ink)}
.call-page .editorial-section:nth-of-type(5) .long-copy p:hover::after{transform:rotate(45deg)}

/* Primera presentación: segunda pausa oscura */
.call-page .presentation-section{padding:clamp(76px,9vw,120px) 0;background:var(--ink);color:#fff;border:0}
.call-page .presentation-grid{gap:clamp(46px,7vw,90px)}
.call-page .presentation-section .body-copy{color:rgba(255,255,255,.65)}
.call-page .presentation-list{border:0;display:grid;gap:12px}
.call-page .presentation-list>div{grid-template-columns:48px 1fr;align-items:start;padding:24px;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:rgba(255,255,255,.035);transition:transform .35s ease,background .35s ease,border-color .35s ease}
.call-page .presentation-list>div:hover{transform:translateX(8px);background:rgba(224,0,28,.12);border-color:var(--red)}
.call-page .presentation-list span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff}
.call-page .presentation-list p,.call-page .presentation-list strong{color:#fff}

/* Cierre */
.call-page .call-final{padding:0 0 clamp(76px,9vw,118px);background:#fff;border:0}
.call-page .call-final .callout{padding:clamp(36px,5vw,62px);border-radius:34px;box-shadow:0 26px 64px rgba(224,0,28,.2);transition:transform .4s ease,box-shadow .4s ease}
.call-page .call-final .callout:hover{transform:translateY(-7px);box-shadow:0 34px 78px rgba(224,0,28,.27)}
.call-page .call-final .callout h2{font-size:clamp(2rem,3.8vw,3.6rem);letter-spacing:-.04em}
.call-page .call-final .btn{min-height:54px;padding-inline:25px;border-radius:999px}

/* Aparición perceptible en scroll */
.call-page main .reveal{opacity:0;transform:translateY(34px) scale(.985);filter:blur(5px);transition:opacity .8s ease,transform .9s cubic-bezier(.16,1,.3,1),filter .8s ease}
.call-page main .reveal.visible{opacity:1;transform:none;filter:none}

@media (max-width:1050px){
  .call-intro-grid{grid-template-columns:1fr}.call-intro-note{max-width:620px}
  .call-page .deadline-grid{grid-template-columns:repeat(2,1fr)}
  .call-page .editorial-section .editorial-grid{grid-template-columns:1fr}.call-page .editorial-index{position:static}
}
@media (max-width:820px){
  .call-page .deadline-grid{grid-template-columns:1fr}.call-page .deadline-block{min-height:320px}
  .call-page .principle-grid,.call-page .presentation-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .call-intro{padding-top:42px}.call-title{font-size:clamp(4rem,20vw,6.6rem)}.call-claim br{display:none}
  .call-trace{grid-template-columns:1fr}.call-trace>span{display:none}
  .call-page .deadline-block{padding:28px;border-radius:26px}.call-page .deadline-block strong{font-size:3.25rem}
  .call-page .editorial-section .editorial-grid{padding:28px;border-radius:26px}
  .call-page .principle-copy,.call-page .presentation-list>div{border-radius:22px}
  .call-page .call-final .callout{border-radius:26px}
}
@media (prefers-reduced-motion:reduce){.call-open i,.call-noise,.call-line{animation:none}.call-line{stroke-dashoffset:0}.call-page main .reveal{filter:none}}

/* Identificación académica común en todas las páginas */
.footer-academic{margin-top:42px;padding:24px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);display:flex;align-items:center;gap:18px}
.footer-academic-mark{width:52px;height:52px;display:grid;place-items:center;flex:0 0 auto;border-radius:16px;background:var(--red);color:#fff;font-family:var(--display);font-size:1.25rem;font-weight:700;letter-spacing:-.05em}
.footer-academic>div{display:grid;gap:3px}.footer-academic small{color:var(--red);font-family:var(--display);font-size:.64rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.footer-academic strong{font-family:var(--display);font-size:clamp(.96rem,1.4vw,1.16rem);font-weight:600}.footer-academic>div>span{color:#948d83;font-family:var(--display);font-size:.76rem}
.footer-academic+.footer-bottom{margin-top:22px;padding-top:0;border-top:0}
@media (max-width:600px){.footer-academic{align-items:flex-start}.footer-academic-mark{width:46px;height:46px;border-radius:14px}.footer-academic strong{line-height:1.25}}

/* ============================================================
   INSCRIPCIÓN + PROYECTOS · CONTINUIDAD DEL SISTEMA EDITORIAL
   ============================================================ */
.registration-page main,.projects-page main{font-family:var(--display);background:#fff}
.registration-page main p,.projects-page main p,.registration-page main label,
.registration-page main input,.registration-page main textarea,.registration-page main select,
.registration-page main .eyebrow,.projects-page main .eyebrow{font-family:var(--display)}
.subpage-top{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.subpage-title{margin:0;font-family:var(--display);font-size:clamp(4.8rem,11vw,10.5rem);font-weight:700;line-height:.78;letter-spacing:-.075em}
.subpage-title span{color:var(--red)}
.subpage-claim{margin:clamp(28px,4vw,46px) 0 0;font-size:clamp(2rem,4.1vw,4.35rem);font-weight:600;line-height:.98;letter-spacing:-.055em}
.subpage-status{display:inline-flex;align-items:center;gap:9px;padding:9px 15px;border:1px solid var(--line-strong);border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.subpage-status i{width:9px;height:9px;border-radius:50%;background:var(--red);animation:callPulse 2s infinite}

/* Inscripción */
.registration-intro{position:relative;overflow:hidden;padding:clamp(54px,7vw,92px) 0 clamp(50px,7vw,88px);background:#fff}
.registration-intro::before{content:"04";position:absolute;right:-.02em;top:-.22em;font-size:clamp(13rem,29vw,27rem);font-weight:700;line-height:1;color:rgba(23,19,16,.025);letter-spacing:-.09em;pointer-events:none}
.registration-intro-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(42px,8vw,110px);align-items:end;margin-top:clamp(45px,7vw,82px)}
.registration-date{position:relative;overflow:hidden;min-height:330px;padding:clamp(30px,4vw,46px);border-radius:34px;background:var(--red);color:#fff;display:flex;flex-direction:column;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease}
.registration-date::after{content:"";position:absolute;width:210px;height:210px;right:-105px;top:-105px;border:42px solid rgba(255,255,255,.14);border-radius:50%;transition:transform .45s ease}
.registration-date:hover{transform:translateY(-8px);box-shadow:0 30px 68px rgba(224,0,28,.24)}.registration-date:hover::after{transform:scale(1.2) rotate(18deg)}
.registration-date small{font-size:.68rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.registration-date strong{margin:32px 0 8px;font-size:clamp(2.8rem,4.8vw,5rem);line-height:.88;letter-spacing:-.055em}.registration-date>span{font-size:.76rem}
.registration-date a{position:relative;z-index:1;margin-top:auto;padding-top:17px;border-top:1px solid rgba(255,255,255,.4);font-size:.72rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.registration-route{position:relative;z-index:1;margin-top:42px;display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:16px;color:var(--ink-soft);font-size:.65rem;font-weight:600;letter-spacing:.07em}
.registration-route i{height:1px;background:var(--line-strong);position:relative}.registration-route i::after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--red)}
.registration-page:not(.showcase-submit-page) .registration-intro{padding:clamp(44px,5.6vw,74px) 0 clamp(42px,5.8vw,72px)}
.registration-page:not(.showcase-submit-page) .registration-intro::before{font-size:clamp(10rem,24vw,21rem);right:-.05em;top:-.18em}
.registration-page:not(.showcase-submit-page) .registration-intro-grid{grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:clamp(38px,6vw,84px);margin-top:clamp(34px,5.2vw,60px);align-items:center}
.registration-page:not(.showcase-submit-page) .subpage-title{font-size:clamp(4.2rem,8.7vw,8.4rem);line-height:.82;letter-spacing:-.072em}
.registration-page:not(.showcase-submit-page) .subpage-claim{font-size:clamp(1.85rem,3.35vw,3.6rem);line-height:1;letter-spacing:-.052em}
.registration-page:not(.showcase-submit-page) .registration-date{justify-self:end;width:min(100%,340px);min-height:310px;padding:clamp(26px,3vw,36px)}
.registration-page:not(.showcase-submit-page) .registration-date strong{font-size:clamp(2.55rem,3.9vw,4.15rem);line-height:.9}
.showcase-submit-page .registration-intro{padding:clamp(44px,5.8vw,76px) 0 clamp(42px,6vw,76px)}
.showcase-submit-page .registration-intro::before{font-size:clamp(10rem,24vw,21rem);right:-.05em;top:-.18em}
.showcase-submit-page .registration-intro-grid{grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:clamp(38px,6vw,84px);margin-top:clamp(34px,5.2vw,60px);align-items:center}
.showcase-submit-page .subpage-title{font-size:clamp(4.2rem,8.7vw,8.4rem);line-height:.82;letter-spacing:-.072em}
.showcase-submit-page .subpage-claim{font-size:clamp(1.85rem,3.35vw,3.55rem);line-height:1;letter-spacing:-.052em}
.showcase-submit-page .registration-date{justify-self:end;width:min(100%,360px);min-height:300px;padding:clamp(26px,3vw,36px)}
.showcase-submit-page .registration-date strong{font-size:clamp(2.45rem,3.45vw,3.9rem);line-height:.92;letter-spacing:-.05em}
.showcase-submit-page .registration-date small{font-size:.66rem}
.showcase-submit-page .registration-date>span{font-size:.72rem}
.registration-form-section{padding:clamp(76px,9vw,118px) 0;background:var(--ink);color:#fff;border:0}
.registration-page .form-shell{grid-template-columns:.72fr 1.28fr;gap:clamp(42px,7vw,88px)}
.registration-page .form-aside .h2{font-weight:700;letter-spacing:-.04em}
.registration-page .form-meta{border-color:rgba(255,255,255,.18)}.registration-page .form-meta div{border-color:rgba(255,255,255,.14);color:rgba(255,255,255,.66);transition:padding-left .3s ease,color .3s ease}.registration-page .form-meta div:hover{padding-left:9px;color:#fff}
.registration-page .form-meta strong{font-family:var(--display);color:var(--red)}
.registration-page .form-aside-note{color:rgba(255,255,255,.7);border-color:var(--red)}
.registration-page .form-card{padding:clamp(26px,4vw,48px);border:0;border-radius:34px;background:#fff;color:var(--ink);box-shadow:0 30px 78px rgba(0,0,0,.2)}
.registration-page .form-section{padding:34px 0;border-color:var(--line)}.registration-page .form-section h3{font-size:1.55rem}
.registration-page .field{gap:9px}.registration-page label{font-size:.72rem;font-weight:600;letter-spacing:.055em}
.registration-page input,.registration-page textarea,.registration-page select{border-radius:17px;padding:15px 16px;border-color:var(--line-strong);background:#fff;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.registration-page input:hover,.registration-page textarea:hover,.registration-page select:hover{border-color:#aaa198}
.registration-page input:focus,.registration-page textarea:focus,.registration-page select:focus{transform:translateY(-2px);border-color:var(--red);box-shadow:0 0 0 4px rgba(224,0,28,.09)}
.registration-page textarea{min-height:132px}.registration-page .checkbox span{font-family:var(--display)}
.registration-page .form-card .btn{min-height:54px;padding-inline:25px;font-family:var(--display);font-weight:600}
.registration-closed-preview.is-closed input,
.registration-closed-preview.is-closed select,
.registration-closed-preview.is-closed textarea{cursor:not-allowed;background:#faf9f7;color:var(--ink-soft);opacity:1}
.registration-closed-preview.is-closed input::placeholder,
.registration-closed-preview.is-closed textarea::placeholder{color:#9d958b}
.closed-form-note{position:relative;overflow:hidden;padding:24px 28px;border:1px solid rgba(224,0,28,.24);border-radius:26px;background:#fff;box-shadow:0 18px 48px rgba(23,19,16,.06)}
.closed-form-note::after{content:"";position:absolute;right:-70px;top:-70px;width:150px;height:150px;border:28px solid rgba(224,0,28,.1);border-radius:50%}
.closed-form-note span{display:inline-flex;margin-bottom:14px;color:var(--red);font-family:var(--mono);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.closed-form-note strong{display:block;margin-bottom:8px;font-family:var(--display);font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.1;letter-spacing:-.03em}
.closed-form-note p{position:relative;z-index:1;max-width:660px;margin:0;color:var(--ink-soft)}
.closed-form-note .btn{position:relative;z-index:1}
.registration-page .section.compact:last-of-type{padding:clamp(60px,7vw,88px) 0;background:#fff;border:0}
.registration-page .next-date{padding:30px 34px;border:1px solid var(--line-strong);border-radius:26px;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.registration-page .next-date:hover{transform:translateY(-6px);border-color:rgba(224,0,28,.45);box-shadow:0 22px 52px rgba(23,19,16,.08)}

/* Proyectos */
.projects-intro{position:relative;overflow:hidden;padding:clamp(54px,7vw,92px) 0 clamp(72px,9vw,116px);background:#fff}
.projects-intro::before{content:"03";position:absolute;right:-.02em;top:-.2em;font-size:clamp(13rem,29vw,27rem);font-weight:700;line-height:1;color:rgba(23,19,16,.025);letter-spacing:-.09em;pointer-events:none}
.projects-count{padding:9px 15px;border:1px solid var(--line-strong);border-radius:999px;color:var(--red);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.projects-intro-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(44px,8vw,110px);align-items:center;margin-top:clamp(48px,7vw,84px)}
.projects-page .page-hero-actions{margin-top:34px}.projects-page .page-hero-actions .btn{font-family:var(--display);font-weight:600}
.project-orbit{position:relative;min-height:390px;border:1px solid var(--line-strong);border-radius:50%;animation:orbitFloat 5s ease-in-out infinite}
@keyframes orbitFloat{50%{transform:translateY(-10px)}}
.project-orbit::before,.project-orbit::after{content:"";position:absolute;border-radius:50%;border:1px dashed rgba(224,0,28,.35)}.project-orbit::before{inset:46px}.project-orbit::after{inset:105px}
.project-orbit>i{position:absolute;width:72px;height:72px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:var(--red);box-shadow:0 18px 42px rgba(224,0,28,.25)}
.orbit-card{position:absolute;z-index:2;padding:13px 18px;border-radius:999px;background:var(--ink);color:#fff;font-size:.68rem;font-weight:600;letter-spacing:.08em;box-shadow:0 15px 35px rgba(23,19,16,.18)}.orbit-a{left:2%;top:28%}.orbit-b{right:-2%;top:20%;background:var(--red)}.orbit-c{right:15%;bottom:6%}
.projects-page .project-promo{padding:clamp(24px,4vw,50px) 0;background:var(--ink)}
.projects-page .project-promo-grid{gap:18px}.projects-page .project-promo-main,.projects-page .project-promo-side{min-height:280px;padding:36px;border-radius:32px}
.projects-page .project-promo-side{background:rgba(255,255,255,.035)}
.projects-page main>.section:not(.compact){padding:clamp(76px,9vw,118px) 0;background:#fff;border:0}
.projects-page .repo-toolbar{margin:38px 0 30px;padding:14px;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 16px 44px rgba(23,19,16,.05)}
.projects-page .search input{border-radius:16px;padding:14px 16px}.projects-page .filter-btn{font-family:var(--display);font-weight:600;padding:10px 15px;white-space:nowrap}
.projects-page .projects-grid{gap:16px}.projects-page .project-card{min-height:290px;padding:28px;border-radius:28px;transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .35s ease,box-shadow .35s ease}.projects-page .project-card:hover{transform:translateY(-9px);border-color:rgba(224,0,28,.5);box-shadow:0 25px 58px rgba(23,19,16,.1)}
.projects-page .empty{min-height:380px;border-style:solid;border-radius:32px;background:#fafafa}.projects-page .empty-mark{width:64px;height:64px;background:var(--red);border:0;color:#fff}
.projects-page main>.section.compact{padding:0 0 clamp(76px,9vw,118px);background:#fff;border:0}.projects-page .dual-cta{border-radius:34px}.projects-page .dual-cta .eyebrow{font-family:var(--display)}

/* Showcase público: página pensada para explorar y apoyar */
.projects-page .projects-intro{padding:clamp(46px,6vw,78px) 0 clamp(58px,7vw,92px)}
.projects-page .projects-intro::before{content:"SHOW";right:-.08em;top:.03em;font-size:clamp(8rem,20vw,18rem)}
.projects-page .projects-intro-grid{grid-template-columns:minmax(0,1fr) minmax(290px,430px);gap:clamp(42px,7vw,96px);margin-top:clamp(38px,5vw,66px)}
.projects-page .subpage-title{font-size:clamp(4.2rem,8.9vw,8.8rem);line-height:.82;letter-spacing:-.072em}
.projects-page .subpage-claim{font-size:clamp(1.9rem,3.4vw,3.65rem);line-height:1;letter-spacing:-.052em}
.projects-page .page-hero-actions .btn.primary{min-height:58px;padding-inline:32px;box-shadow:0 14px 34px rgba(224,0,28,.18)}
.projects-page .page-hero-actions .showcase-hero-button{min-width:260px;padding-inline:42px;font-size:.82rem}
.projects-page .project-orbit{min-height:370px;border-radius:42px;background:radial-gradient(circle at 50% 50%,rgba(224,0,28,.15),transparent 32%),#fff;box-shadow:0 22px 68px rgba(23,19,16,.07)}
.projects-page .showcase-public-banner{position:relative;padding:clamp(30px,5vw,62px) 0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.projects-page .showcase-public-banner .project-promo-grid{grid-template-columns:1.15fr .85fr}
.projects-page .showcase-public-banner .project-promo-main,
.projects-page .showcase-public-banner .project-promo-side{position:relative;overflow:hidden;min-height:250px;border-radius:34px;transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s ease,border-color .42s ease}
.projects-page .showcase-public-banner .project-promo-main{background:linear-gradient(135deg,var(--ink) 0%,#241d19 66%,var(--red-deep) 145%);border:1px solid rgba(224,0,28,.18);box-shadow:0 24px 70px rgba(23,19,16,.16)}
.projects-page .showcase-public-banner .project-promo-main::after{content:"SHOWCASE";position:absolute;right:-.08em;bottom:-.18em;font-family:var(--display);font-size:clamp(4.5rem,9vw,9rem);font-weight:700;letter-spacing:-.08em;color:rgba(255,255,255,.045);pointer-events:none}
.projects-page .showcase-public-banner .project-promo-main .eyebrow{color:var(--red)}
.projects-page .showcase-public-banner .project-promo-main strong{font-size:clamp(2.05rem,3.5vw,3.6rem);letter-spacing:-.04em;max-width:760px}
.projects-page .showcase-public-banner .project-promo-main p{font-weight:600;color:rgba(255,255,255,.72)}
.projects-page .showcase-public-banner .project-promo-main a{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:max-content;min-height:54px;margin-top:auto;padding:13px 24px;border-radius:999px;background:var(--red);color:#fff;font-family:var(--mono);font-weight:700;text-decoration:none;box-shadow:0 0 0 0 rgba(224,0,28,.34);animation:buttonGlow 2.4s ease-in-out infinite}
.projects-page .showcase-public-banner .project-promo-side{background:#fff;color:var(--ink);border:1px solid var(--line-strong);box-shadow:0 18px 56px rgba(23,19,16,.06)}
.projects-page .showcase-public-banner .project-promo-side>span{color:var(--red);font-family:var(--display);font-size:clamp(1.35rem,2vw,2rem);font-weight:700;letter-spacing:-.035em;text-transform:none}
.projects-page .showcase-public-banner .project-promo-side strong{font-size:clamp(1.8rem,2.8vw,3rem);letter-spacing:-.035em}
.projects-page .showcase-public-banner .project-promo-side p{color:var(--ink-soft);font-weight:600}
.projects-page .showcase-public-banner .project-promo-main:hover,
.projects-page .showcase-public-banner .project-promo-side:hover{transform:translateY(-8px);box-shadow:0 34px 82px rgba(23,19,16,.16)}

/* Refinamiento final: hero transparente + franja oscura única */
.projects-page .project-orbit{min-height:370px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;animation:orbitFloat 5s ease-in-out infinite}
.projects-page .project-orbit::before,
.projects-page .project-orbit::after{border-color:rgba(224,0,28,.22);filter:drop-shadow(0 10px 28px rgba(224,0,28,.08))}
.projects-page .project-orbit::before{inset:52px 32px;border-style:solid;border-color:rgba(224,0,28,.13)}
.projects-page .project-orbit::after{inset:104px 86px;border-style:dashed}
.projects-page .project-orbit>i{width:86px;height:86px;background:radial-gradient(circle at 35% 30%,#ff4154,var(--red) 58%,var(--red-deep));box-shadow:0 26px 70px rgba(224,0,28,.34),0 0 0 18px rgba(224,0,28,.06);animation:showcaseCore 2.8s ease-in-out infinite}
.projects-page .orbit-card{border:1px solid rgba(23,19,16,.08);box-shadow:0 16px 44px rgba(23,19,16,.14);backdrop-filter:blur(10px)}
.projects-page .orbit-a{left:3%;top:34%}.projects-page .orbit-b{right:1%;top:28%}.projects-page .orbit-c{right:16%;bottom:9%}
@keyframes showcaseCore{50%{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 34px 90px rgba(224,0,28,.4),0 0 0 26px rgba(224,0,28,.035)}}
.projects-page .showcase-public-banner{padding:clamp(28px,4.5vw,54px) 0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.showcase-strip{position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr .72fr auto;align-items:center;gap:clamp(24px,4vw,54px);padding:clamp(28px,4vw,42px);border-radius:36px;background:linear-gradient(135deg,var(--ink) 0%,#211b18 52%,#481018 130%);color:#fff;box-shadow:0 28px 76px rgba(23,19,16,.18)}
.showcase-strip::before{content:"";position:absolute;inset:0 auto 0 0;width:7px;background:var(--red)}
.showcase-strip::after{content:"SHOWCASE";position:absolute;right:-.04em;bottom:-.35em;font-family:var(--display);font-size:clamp(5rem,10vw,10rem);font-weight:700;letter-spacing:-.08em;color:rgba(255,255,255,.045);pointer-events:none}
.showcase-strip>div,.showcase-strip>a{position:relative;z-index:1}
.showcase-strip .eyebrow{color:var(--red)}
.showcase-strip strong{display:block;margin:10px 0 8px;font-family:var(--display);font-size:clamp(2rem,3.2vw,3.5rem);line-height:.98;letter-spacing:-.04em}
.showcase-strip p{margin:0;color:rgba(255,255,255,.68);font-weight:600}
.showcase-strip-count{padding-left:clamp(20px,3vw,38px);border-left:1px solid rgba(255,255,255,.16)}
.showcase-strip-count span{display:block;margin-bottom:8px;color:#fff;font-family:var(--display);font-size:clamp(1.45rem,2.2vw,2.45rem);font-weight:700;line-height:1;letter-spacing:-.035em}
.showcase-strip>a{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;min-height:58px;padding:14px 26px;border-radius:999px;background:var(--red);color:#fff;font-family:var(--mono);font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;box-shadow:0 0 0 0 rgba(224,0,28,.34);animation:buttonGlow 2.4s ease-in-out infinite;transition:transform .25s ease,background .25s ease}
.showcase-strip>a:hover{background:var(--red-deep);transform:translateY(-3px)}

/* Showcase digital: exposición premium, ligera y sin perder la identidad */
.projects-page .showcase-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 72% 18%,rgba(224,0,28,.08),transparent 30%),linear-gradient(180deg,#fff 0%,#fbfaf8 100%)}
.projects-page .showcase-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(23,19,16,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(23,19,16,.035) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);opacity:.7;animation:showcase-grid-drift 20s linear infinite}
.projects-page .showcase-hero .container{position:relative;z-index:1}
.showcase-kicker{display:inline-flex;margin:14px 0 16px;padding:8px 13px;border:1px solid var(--line-strong);border-radius:999px;background:#fff;color:var(--red);font-family:var(--mono);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.projects-page .showcase-hero .subpage-title{font-size:clamp(4.4rem,9.6vw,9rem);max-width:980px}
.projects-page .showcase-hero .subpage-title span{color:var(--red)}
.projects-page .showcase-hero .subpage-claim{max-width:720px;font-size:clamp(1.2rem,2.1vw,1.9rem);line-height:1.12}
.showcase-metrics{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0}
.showcase-metrics span{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid var(--line-strong);border-radius:999px;background:#fff;box-shadow:0 16px 44px rgba(23,19,16,.05);color:var(--ink-soft);font-size:.86rem}
.showcase-metrics strong{font-family:var(--display);font-size:1.2rem;color:var(--ink)}
.challenge-progress{display:flex;align-items:center;gap:14px;margin-top:42px;padding:16px 18px;border:1px solid var(--line-strong);border-radius:999px;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);box-shadow:0 18px 54px rgba(23,19,16,.06);font-family:var(--mono);font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft)}
.challenge-progress i{height:1px;flex:1;background:linear-gradient(90deg,var(--line-strong),rgba(224,0,28,.55),var(--line-strong))}
.challenge-progress .done{color:var(--ink)}
.challenge-progress .active{color:var(--red)}
@keyframes showcase-grid-drift{from{background-position:0 0,0 0}to{background-position:58px 58px,58px 58px}}

/* Repositorio en dos columnas: más compacto, dinámico y con menos vacío */
.projects-page #repositorio{background:#fff;padding-bottom:clamp(70px,8vw,110px)}
.projects-page #repositorio>.container>.eyebrow,
.projects-page #repositorio>.container>.h2,
.projects-page #repositorio>.container>.body-copy,
.projects-page #repositorio .repo-count-card,
.projects-page #repositorio .repo-toolbar,
.projects-page .results-line{position:relative;z-index:1}
.projects-page .repo-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:14px;align-items:center}
.projects-page .repo-toolbar .filters{display:flex;flex-wrap:wrap;gap:8px}
.projects-page .filter-btn span{margin-left:6px;color:inherit;opacity:.62}
.sort-control{display:inline-flex;align-items:center;gap:9px;width:max-content;padding:8px 9px 8px 14px;border:1px solid var(--line-strong);border-radius:999px;background:#fff;color:var(--ink-soft);font-family:var(--mono);font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.sort-control select{border:0;background:var(--paper-soft);border-radius:999px;padding:9px 30px 9px 12px;color:var(--ink);font:inherit;outline:none}
.results-line{margin:18px 0 16px;color:var(--ink-soft);font-weight:600}
.projects-page .projects-grid{display:grid!important;grid-template-columns:1fr!important;gap:28px}
.project-group{position:relative;display:grid;gap:18px;margin-top:10px;padding:22px;border:1px solid rgba(216,209,199,.72);border-radius:32px;background:linear-gradient(180deg,#fff 0%,#fff 100%);box-shadow:0 18px 58px rgba(23,19,16,.045)}
.project-group:nth-child(even){background:linear-gradient(180deg,#faf7f3 0%,#fff 100%)}
.project-group:nth-child(3n){background:linear-gradient(180deg,#f7f7f6 0%,#fff 100%)}
.project-group::before{content:"";position:absolute;inset:0;border-radius:32px;background:radial-gradient(circle at 94% 8%,rgba(224,0,28,.055),transparent 24%);pointer-events:none}
.project-group-heading{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:0 0 12px;border-bottom:1px solid rgba(216,209,199,.88)}
.project-group-heading>span{width:46px;height:2px;background:var(--red);border-radius:999px}
.project-group-heading h3{margin:0;font-family:var(--display);font-size:clamp(1.15rem,1.8vw,1.65rem);line-height:1;color:var(--ink)}
.project-group-heading p{margin:4px 0 0;color:var(--ink-soft);font-size:.88rem;line-height:1.35}
.project-group-heading small{justify-self:end;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--red);font-family:var(--mono);font-size:.62rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.project-group-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.projects-page .project-card{position:relative;display:flex;flex-direction:column;min-height:360px;padding:24px 26px;border-radius:30px;overflow:hidden;background:rgba(255,255,255,.94);border:1px solid rgba(216,209,199,.9);box-shadow:0 20px 54px rgba(23,19,16,.055);color:var(--ink);isolation:isolate;transition:transform .34s cubic-bezier(.16,1,.3,1),box-shadow .34s ease,border-color .34s ease,background .34s ease}
.projects-page .project-card::before{content:"";position:absolute;right:-74px;top:-74px;width:170px;height:170px;border:30px solid rgba(224,0,28,.06);border-radius:50%;transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .34s ease,opacity .34s ease;z-index:0}
.projects-page .project-card.has-showcase-material::before{border-color:rgba(224,0,28,.12)}
.projects-page .project-card::after{content:"";position:absolute;inset:-1px;background:linear-gradient(115deg,transparent 0%,transparent 35%,rgba(224,0,28,.18) 49%,rgba(255,255,255,.8) 50%,rgba(224,0,28,.14) 51%,transparent 66%,transparent 100%);transform:translateX(-125%);transition:transform .85s cubic-bezier(.16,1,.3,1);z-index:0;pointer-events:none}
.projects-page .project-card-head::after{content:"";position:absolute;left:0;right:0;bottom:-16px;height:1px;background:var(--line)}
.projects-page .project-card:hover{transform:translateY(-9px);border-color:rgba(224,0,28,.58);background:linear-gradient(180deg,#fff 0%,#fff8f8 100%);box-shadow:0 32px 88px rgba(224,0,28,.13),0 18px 54px rgba(23,19,16,.11)}
.projects-page .project-card:hover::after{transform:translateX(120%)}
.projects-page .project-card:hover::before{transform:scale(1.22) rotate(18deg);border-color:rgba(224,0,28,.2);opacity:1}
.projects-page .project-card:hover h3{color:var(--red-deep)}
.projects-page .project-card-head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0;background:transparent;border:0;min-height:42px}
.projects-page .project-card .tag{max-width:58%;font-size:.68rem;line-height:1.22;letter-spacing:.08em}
.projects-page .project-card .phase{margin:0;background:#fff;border-color:var(--line-strong);color:var(--ink-soft);font-size:.56rem;line-height:1.2;white-space:normal}
.projects-page .project-card.has-showcase-material .phase{background:var(--red-tint);border-color:rgba(224,0,28,.22);color:var(--red-deep)}
.projects-page .project-card-main{position:relative;z-index:1;padding:24px 0 0;display:grid;gap:12px}
.projects-page .project-card h3{margin:0;font-size:clamp(1.35rem,1.75vw,1.85rem);max-width:680px;line-height:1.03}
.projects-page .project-summary{font-weight:700;color:var(--ink)!important}
.projects-page .project-story{margin:0}.projects-page .project-story section{padding-top:10px}
.projects-page .project-card p{font-size:.88rem;line-height:1.5;color:var(--ink-soft)}
.projects-page .project-card .project-story strong{color:var(--ink)}
.projects-page .project-card-preview{margin:0;padding:13px 15px;border-radius:18px;max-width:none;background:var(--paper-soft);border-color:var(--line);color:var(--ink-soft);font-size:.82rem;line-height:1.45}
.problem-arrow{height:12px;position:relative}
.problem-arrow span{display:block;width:42%;height:1px;background:linear-gradient(90deg,var(--line-strong),var(--red));transition:width .32s ease}
.problem-arrow span::after{content:"→";position:absolute;left:42%;top:-10px;color:var(--red);font-family:var(--mono);font-weight:800;transition:left .32s ease}
.projects-page .project-card:hover .problem-arrow span{width:58%}
.projects-page .project-card:hover .problem-arrow span::after{left:58%}
.tech-chips{display:flex;flex-wrap:wrap;gap:6px}
.tech-chips span{padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink-soft);font-family:var(--mono);font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.projects-page .project-actions{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding:18px 0 0;border:0}
.projects-page .project-actions .btn{width:auto;min-height:44px;padding-inline:17px}
.projects-page .project-actions .btn.dark{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 14px 34px rgba(23,19,16,.14)}
.projects-page .project-actions .btn.dark:hover{background:var(--red);border-color:var(--red);color:#fff}
.projects-page .support-mini{order:0;text-align:center;padding:9px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--red)}
.projects-page .support-mini-top{margin-left:auto;border-color:rgba(224,0,28,.18);background:linear-gradient(180deg,#fff,#fff5f6);box-shadow:0 12px 28px rgba(224,0,28,.08);font-family:var(--mono);font-size:.62rem;font-weight:800;letter-spacing:.04em;white-space:nowrap}
.projects-page .project-actions-expanded{align-items:flex-end;justify-content:flex-end;gap:12px}
.projects-page .project-direct-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;width:100%}
.projects-page .project-actions .btn.direct{min-height:39px;padding:10px 13px;border-radius:999px;background:var(--red);color:#fff;border:1px solid var(--red);box-shadow:0 14px 32px rgba(224,0,28,.14);font-family:var(--mono);font-size:.58rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.projects-page .project-actions .btn.primary-direct,.projects-page .project-actions .btn.support-direct,.projects-page .project-actions .btn.whatsapp-direct{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 14px 32px rgba(224,0,28,.14)}
.projects-page .project-actions .btn.detail-direct{min-height:39px;padding:10px 13px;background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:none}
.projects-page .project-actions .btn.direct:hover,.projects-page .project-actions .btn.detail-direct:hover{transform:translateY(-2px);background:var(--red-deep);border-color:var(--red-deep);color:#fff}
.projects-page .project-actions .btn.direct:disabled{opacity:.72;cursor:default;transform:none}
.projects-page .project-direct-actions a,
.projects-page .project-direct-actions button,
.project-public-demo-actions a{position:relative;z-index:5;touch-action:manipulation;-webkit-tap-highlight-color:rgba(224,0,28,.18)}
@media(hover:none),(pointer:coarse){
  .projects-page .project-card:hover{transform:none;background:rgba(255,255,255,.94);box-shadow:0 20px 54px rgba(23,19,16,.055)}
  .projects-page .project-card:hover::after{transform:translateX(-125%)}
  .projects-page .project-card:hover::before{transform:none}
  .projects-page .project-card:hover h3{color:var(--ink)}
  .projects-page .project-actions .btn.direct:hover,
  .projects-page .project-actions .btn.detail-direct:hover{transform:none}
}
.project-skeleton{pointer-events:none}
.project-skeleton span,.project-skeleton i,.project-skeleton b,.project-skeleton p,.project-skeleton em{display:block;border-radius:999px;background:linear-gradient(90deg,#eee8e1,#faf8f5,#eee8e1);background-size:220% 100%;animation:skeleton-pulse 1.35s ease-in-out infinite}
.project-skeleton .project-card-head span:first-child{width:130px;height:14px}.project-skeleton .project-card-head span:last-child{width:98px;height:28px}
.project-skeleton i{width:74%;height:34px}.project-skeleton b{width:92%;height:12px}.project-skeleton p{width:84%;height:58px;border-radius:18px}.project-skeleton em{width:58%;height:36px}
@keyframes skeleton-pulse{to{background-position:-220% 0}}

/* Entradas y contenidos aparecen claramente al desplazarse */
.registration-page main .reveal,.projects-page main .reveal{opacity:0;transform:translateY(34px) scale(.985);filter:blur(5px);transition:opacity .8s ease,transform .9s cubic-bezier(.16,1,.3,1),filter .8s ease}
.registration-page main .reveal.visible,.projects-page main .reveal.visible{opacity:1;transform:none;filter:none}

@media(max-width:1050px){.registration-intro-grid,.projects-intro-grid{grid-template-columns:1fr}.registration-date{max-width:650px}.project-orbit{max-width:560px;width:100%}.registration-page .form-shell{grid-template-columns:1fr}.registration-page .form-aside{position:static}}
@media(max-width:980px){.projects-page .repo-toolbar{grid-template-columns:1fr}.projects-page .repo-toolbar .filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.sort-control{width:100%;justify-content:space-between}.sort-control select{min-width:180px}.challenge-progress{align-items:flex-start;border-radius:26px;flex-direction:column}.challenge-progress i{width:100%;flex:0 0 1px}.projects-page .showcase-hero .subpage-title{font-size:clamp(3.9rem,14vw,7rem)}}
@media(max-width:820px){.registration-route{grid-template-columns:1fr 1fr;gap:12px}.registration-route i{display:none}.project-orbit{min-height:330px}.projects-page .project-promo-grid{grid-template-columns:1fr}.showcase-strip{grid-template-columns:1fr}.showcase-strip-count{padding-left:0;padding-top:20px;border-left:0;border-top:1px solid rgba(255,255,255,.16)}.showcase-strip>a{width:max-content}.projects-page .projects-grid,.project-group-grid{grid-template-columns:1fr!important}.project-group-heading{grid-template-columns:1fr}.project-group-heading>span{width:52px}.project-group-heading small{justify-self:start}.projects-page .project-card{min-height:auto}.projects-page .project-actions{flex-direction:row;align-items:center;justify-content:space-between}.projects-page .project-actions .btn{width:auto}.projects-page .project-actions-expanded{align-items:flex-start;flex-direction:column}.projects-page .project-direct-actions{justify-content:flex-start}}
@media(max-width:600px){.subpage-title{font-size:clamp(4rem,20vw,6.6rem)}.subpage-claim br{display:none}.registration-page:not(.showcase-submit-page) .subpage-title,.showcase-submit-page .subpage-title,.projects-page .subpage-title{font-size:clamp(3.6rem,18vw,5.6rem)}.projects-page .showcase-hero .subpage-title{font-size:clamp(3.05rem,16vw,4.6rem)}.registration-page:not(.showcase-submit-page) .subpage-claim,.showcase-submit-page .subpage-claim,.projects-page .subpage-claim{font-size:clamp(1.35rem,7vw,2rem)}.showcase-metrics span{width:100%;justify-content:space-between}.registration-page:not(.showcase-submit-page) .registration-date,.showcase-submit-page .registration-date{width:100%;min-height:270px}.registration-date{min-height:285px;border-radius:26px}.registration-route{grid-template-columns:1fr}.registration-page .form-card{padding:25px;border-radius:26px}.registration-page .next-date{padding:25px;border-radius:22px}.project-orbit{min-height:280px}.projects-page .project-orbit{min-height:220px}.projects-page .orbit-a{left:0}.projects-page .orbit-b{right:0}.projects-page .orbit-c{right:8%;bottom:4%}.showcase-strip{padding:26px;border-radius:25px}.showcase-strip>a{width:100%}.projects-page .showcase-public-banner .project-promo-main,.projects-page .showcase-public-banner .project-promo-side{min-height:220px;padding:26px}.projects-page .repo-count-card{gap:14px}.projects-page .project-card{padding:22px;border-radius:25px}.projects-page .project-card-head{flex-direction:column}.projects-page .project-card .tag{max-width:100%}.projects-page .project-actions{align-items:stretch;flex-direction:column}.projects-page .project-actions .btn{width:100%}.projects-page .project-direct-actions{width:100%}.projects-page .project-actions .btn.direct,.projects-page .project-actions .btn.detail-direct{flex:1 1 100%;justify-content:center}.projects-page .project-promo-main,.projects-page .project-promo-side,.projects-page .repo-toolbar,.projects-page .empty,.projects-page .dual-cta{border-radius:25px}}
@media(max-width:600px){
  .projects-page .showcase-hero{padding-top:34px}
  .projects-page .projects-intro-grid{position:relative;display:block}
  .projects-page .projects-intro-grid>div:first-child{position:relative;z-index:2;max-width:310px}
  .projects-page .showcase-hero .subpage-title{font-size:clamp(3.15rem,15vw,4.35rem);letter-spacing:-.055em}
  .projects-page .showcase-hero .subpage-claim{max-width:230px;font-size:clamp(1.2rem,5.5vw,1.65rem);line-height:1.05}
  .projects-page .showcase-hero-button{width:min(100%,260px);justify-content:center;min-height:56px!important;padding-inline:20px!important}
  .projects-page .project-orbit{position:absolute;right:-28px;top:96px;width:255px;min-height:255px;opacity:.92;z-index:1;pointer-events:none}
  .projects-page .project-orbit::before{inset:42px 18px}
  .projects-page .project-orbit::after{inset:82px 62px}
  .projects-page .project-orbit>i{width:74px;height:74px}
  .projects-page .orbit-a{left:20px;top:95px}
  .projects-page .orbit-b{right:-4px;top:78px}
  .projects-page .orbit-c{right:18px;bottom:38px}
  .projects-page .challenge-progress{position:relative;z-index:2;margin-top:34px;background:rgba(255,255,255,.9);box-shadow:0 18px 46px rgba(23,19,16,.08)}
}
@media(prefers-reduced-motion:reduce){.subpage-status i,.project-orbit,.projects-page .showcase-hero::before,.project-skeleton span,.project-skeleton i,.project-skeleton b,.project-skeleton p,.project-skeleton em{animation:none}.registration-page main .reveal,.projects-page main .reveal{filter:none}}

/* Ajustes móviles finales: evita encimados en inscripción, entrega y showcase */
@media(max-width:700px){
  .registration-page .registration-intro,
  .showcase-submit-page .registration-intro,
  .projects-page .showcase-hero{padding-top:30px!important;overflow:hidden}
  .registration-page .registration-intro::before,
  .showcase-submit-page .registration-intro::before{font-size:10rem!important;right:-.18em!important;top:.1em!important}
  .registration-page .registration-intro-grid,
  .showcase-submit-page .registration-intro-grid{display:grid!important;grid-template-columns:1fr!important;gap:20px!important;margin-top:26px!important;align-items:start!important}
  .registration-page .registration-intro-grid>div:first-child,
  .showcase-submit-page .registration-intro-grid>div:first-child{position:relative;z-index:2;max-width:100%!important}
  .registration-page .subpage-title,
  .showcase-submit-page .subpage-title{font-size:clamp(3.2rem,17vw,4.8rem)!important;line-height:.86!important;letter-spacing:-.065em!important;max-width:100%!important;overflow-wrap:anywhere}
  .registration-page .subpage-claim,
  .showcase-submit-page .subpage-claim{font-size:clamp(1.35rem,8vw,2.25rem)!important;line-height:1.02!important;max-width:300px!important}
  .registration-page .registration-date,
  .showcase-submit-page .registration-date{justify-self:stretch!important;width:100%!important;max-width:none!important;min-height:0!important;padding:24px!important;border-radius:26px!important;z-index:2}
  .registration-page .registration-date strong,
  .showcase-submit-page .registration-date strong{margin:22px 0 10px!important;font-size:clamp(2.35rem,12vw,3.6rem)!important;line-height:.9!important}
  .registration-page .registration-route,
  .showcase-submit-page .registration-route{position:relative;z-index:2;margin-top:28px!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important}

  .projects-page .showcase-hero{padding-bottom:28px!important}
  .projects-page .projects-intro-grid{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;margin-top:30px!important}
  .projects-page .projects-intro-grid>div:first-child{max-width:100%!important}
  .projects-page .showcase-hero .subpage-title{font-size:clamp(3.2rem,18vw,4.8rem)!important;line-height:.86!important}
  .projects-page .showcase-hero .subpage-claim{max-width:100%!important;font-size:clamp(1.35rem,7.5vw,2rem)!important;line-height:1.02!important}
  .projects-page .project-orbit{position:relative!important;inset:auto!important;right:auto!important;top:auto!important;width:100%!important;min-height:210px!important;margin:-2px 0 4px!important;opacity:1!important;pointer-events:none!important}
  .projects-page .project-orbit>i{width:72px!important;height:72px!important}
  .projects-page .page-hero-actions{position:relative;z-index:3;margin-top:20px!important}
  .projects-page .showcase-hero-button{position:relative;z-index:4;width:100%!important;max-width:300px!important;min-width:0!important}
  .projects-page .challenge-progress{margin-top:16px!important}
}

/* Override final real móvil: debe quedar después de todos los media queries */
@media(max-width:700px){
  .registration-page .registration-intro,
  .showcase-submit-page .registration-intro,
  .projects-page .showcase-hero{padding-top:30px!important;overflow:hidden!important}
  .registration-page .registration-intro-grid,
  .registration-page:not(.showcase-submit-page) .registration-intro-grid,
  .showcase-submit-page .registration-intro-grid{display:flex!important;flex-direction:column!important;gap:22px!important;margin-top:26px!important;align-items:stretch!important}
  .registration-page .registration-intro-grid>div:first-child,
  .showcase-submit-page .registration-intro-grid>div:first-child{order:1;width:100%!important;max-width:100%!important}
  .registration-page .registration-date,
  .registration-page:not(.showcase-submit-page) .registration-date,
  .showcase-submit-page .registration-date{order:2;width:100%!important;max-width:100%!important;min-height:245px!important;margin:0!important;transform:none!important;justify-self:stretch!important}
  .registration-page .subpage-title,
  .showcase-submit-page .subpage-title{font-size:clamp(3rem,16vw,4.5rem)!important;line-height:.84!important;max-width:100%!important}
  .registration-page .subpage-claim,
  .showcase-submit-page .subpage-claim{max-width:100%!important;font-size:clamp(1.35rem,7vw,2.05rem)!important;line-height:1.05!important}

  .projects-page .projects-intro-grid{display:flex!important;flex-direction:column!important;gap:16px!important;margin-top:30px!important}
  .projects-page .projects-intro-grid>div:first-child{order:1;width:100%!important;max-width:100%!important}
  .projects-page .showcase-hero .subpage-title{font-size:clamp(3.2rem,18vw,4.8rem)!important;line-height:.86!important}
  .projects-page .showcase-hero .subpage-claim{max-width:100%!important;font-size:clamp(1.35rem,7.5vw,2rem)!important;line-height:1.05!important}
  .projects-page .project-orbit{order:2;position:relative!important;inset:auto!important;right:auto!important;top:auto!important;width:100%!important;min-height:178px!important;margin:0!important;pointer-events:none!important;transform:none!important}
  .projects-page .page-hero-actions{position:relative!important;z-index:20!important;margin-top:18px!important}
  .projects-page .showcase-hero-button{display:flex!important;width:100%!important;max-width:310px!important;min-width:0!important;pointer-events:auto!important}
}
