/* /pilot/ — usa los tokens de site.css (no redefine colores ni fuentes) */
.pl-hero{padding:72px 0 56px;border-bottom:1px solid var(--line)}
.pl-hero .wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:56px;align-items:start}
.pl-hero h1{font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.08;letter-spacing:-.02em;color:var(--ink);margin:0 0 18px;max-width:18ch}
.pl-lead{font-size:1.125rem;line-height:1.6;color:var(--mut);max-width:58ch;margin:0 0 28px}
.pl-deadline{font-family:var(--mono);font-size:.875rem;color:var(--ink2);margin:0 0 28px}

/* Pieza principal: la "etiqueta" de 40×47 mm con las 3 plazas */
.pl-label{background:var(--bg);border:2px dashed var(--ink2);border-radius:6px;padding:22px 22px 18px;font-family:var(--mono);color:var(--ink);aspect-ratio:40/47;display:flex;flex-direction:column;max-width:340px;justify-self:end;width:100%}
.pl-label h2{font-family:var(--mono);font-size:.95rem;font-weight:600;margin:0 0 4px}
.pl-label .sub{font-size:.75rem;color:var(--mut);margin:0 0 18px}
.pl-slots{list-style:none;margin:0;padding:0;display:grid;gap:10px;flex:1}
.pl-slots li{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:4px;padding:10px 12px;font-size:.85rem}
.pl-slots li[data-state="open"] span:last-child{color:var(--gt)}
.pl-slots li[data-state="taken"]{background:var(--soft);color:var(--mut)}
.pl-label .foot{font-size:.7rem;color:var(--mut);margin:14px 0 0;border-top:1px solid var(--line);padding-top:10px}

.pl-sec{padding:56px 0;border-bottom:1px solid var(--line)}
.pl-sec h2{font-size:1.6rem;letter-spacing:-.01em;color:var(--ink);margin:0 0 20px}
.pl-cols{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.pl-list{margin:0;padding:0 0 0 1.1em;line-height:1.7;color:var(--ink2);max-width:62ch}
.pl-list li{margin:0 0 8px}
.pl-list strong{color:var(--ink)}
.pl-steps{margin:0;padding:0;list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.pl-steps li{counter-increment:s;border-top:3px solid var(--blue);padding-top:12px;color:var(--ink2);line-height:1.5;font-size:.95rem}
.pl-steps li::before{content:counter(s);font-family:var(--mono);font-weight:600;color:var(--blue);display:block;margin-bottom:6px}
.pl-steps b{display:block;color:var(--ink);font-family:var(--mono);font-size:.8rem;margin-bottom:4px}

.pl-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;max-width:860px}
.pl-form .full{grid-column:1/-1}
.pl-form label{display:block;font-weight:600;font-size:.9rem;color:var(--ink);margin-bottom:6px}
.pl-form .hint{display:block;font-weight:400;color:var(--mut);font-size:.8rem;margin-top:4px}
.pl-form input,.pl-form select,.pl-form textarea{width:100%;font:inherit;font-size:1rem;padding:11px 12px;border:1px solid #CBD5E1;border-radius:8px;background:var(--bg);color:var(--ink)}
.pl-form textarea{min-height:96px;resize:vertical}
.pl-form input:focus-visible,.pl-form select:focus-visible,.pl-form textarea:focus-visible{outline:3px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
.pl-consent{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--ink2);line-height:1.5}
.pl-consent input{width:auto;margin-top:4px}
.pl-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.pl-form button{font:inherit;font-weight:700;font-size:1rem;padding:14px 22px;border:0;border-radius:10px;background:var(--blue);color:#fff;cursor:pointer}
.pl-form button:hover{background:var(--blue2)}
.pl-form button:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.pl-terms{font-size:.85rem;color:var(--mut);max-width:70ch;line-height:1.6}

@media (max-width:860px){
  .pl-hero .wrap,.pl-cols,.pl-form{grid-template-columns:1fr}
  .pl-label{justify-self:start}
  .pl-steps{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
