:root{--ink:#111110;--ink-2:#444;--ink-3:#999;--bg:#fff;--bg-alt:#f5f5f5;--border:#ddd;--green:#2d7a2d;--amber:#b8860b;--muted:#666;--accent:rgb(254, 33, 33);--sans:"Literata", "IBM Plex Serif", Georgia, serif;--display:"Beiruti", "Helvetica Neue", Arial, sans-serif;--mono:"IBM Plex Mono", Consolas, "Liberation Mono", Courier, monospace;--header-h:100px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--ink);line-height:1.6;font-size:21px}h1,h2,h3,h4{font-family:var(--display);font-weight:700;letter-spacing:-.02em}.site-header{position:fixed;top:0;left:0;right:0;height:var(--header-h);background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);z-index:100}.nav{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;align-items:center;height:100%}.nav-brand{display:flex;align-items:center;gap:.75rem;font-family:var(--display);font-weight:700;text-decoration:none;color:var(--ink);margin-right:auto;font-size:2.1rem}.nav-logo{height:84px;width:auto;border-radius:50%;margin:8px 0}.nav-links{display:flex;gap:.6rem;align-items:center}.nav-links a{text-decoration:none;color:var(--ink-2);font-size:1rem;font-family:var(--sans);padding:.25rem .55rem;border-radius:4px;transition:background .15s}.nav-links a:hover{background:var(--bg-alt);color:var(--ink)}.lang-switch{font-family:var(--mono);font-size:.75rem;text-transform:uppercase;padding:.1rem .35rem;border:1px solid var(--border);border-radius:3px;opacity:.7}.lang-switch:hover{opacity:1}.nav-langs{display:flex;gap:.3rem;align-items:center;margin-left:.5rem}.nav-langs .lang-switch{font-size:.85rem;padding:.15rem .5rem}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:6rem 1rem 4rem;position:relative;overflow:hidden}.hero-bg{background-size:cover;background-position:50%;background-repeat:no-repeat}.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.55)}.hero-content{position:relative;z-index:1}.hero h1{font-size:4.5rem;font-weight:700;letter-spacing:-.03em;margin-bottom:.5rem;color:#fff}.hero-subtitle{font-size:1.3rem;color:rgba(255,255,255,.8);margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto;font-family:var(--sans)}.hero-cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}.btn{display:inline-block;padding:.7rem 1.4rem;border-radius:6px;text-decoration:none;font-weight:500;font-size:.9rem;transition:background .15s,color .15s}.btn-sm{padding:.5rem 1rem;font-size:.8rem}.btn-lg{padding:1.2rem 2.4rem;font-size:1.4rem}.btn-primary{background:#fff;color:var(--ink)}.btn-primary:hover{background:#e5e5e5}.btn-secondary{background:0 0;color:#fff;border:1px solid rgba(255,255,255,.5)}.btn-secondary:hover{background:rgba(255,255,255,.1);border-color:#fff}.section .btn-primary{background:var(--ink);color:#fff}.section .btn-primary:hover{background:#333}.section .btn-secondary{background:0 0;color:var(--ink);border:1px solid var(--ink)}.section .btn-secondary:hover{background:var(--bg-alt)}.section{padding:5rem 1rem}.section-alt{background:var(--bg-alt)}.section-inner{max-width:720px;margin:0 auto}.page-content{padding-top:calc(var(--header-h) + 3rem)}.section h2{font-size:2.5rem;font-weight:700;margin-bottom:1.5rem}.section-desc{color:var(--ink-2);margin-bottom:2rem;font-size:1.2rem}.prose p{margin-bottom:.8rem;color:var(--ink-2)}.prose h2{margin-top:3.5rem;margin-bottom:1rem}.prose h3{margin-top:2.5rem;margin-bottom:.8rem}.prose h2+h3{margin-top:1rem}.prose h2:first-child,.prose h3:first-child{margin-top:0}.prose p+h2,.prose p+h3{margin-top:2.5rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.card{background:#fff;padding:1.5rem;border-radius:8px;border:1px solid var(--border)}.card h3{font-size:1.4rem;margin-bottom:.5rem}.card p{font-size:1.26rem;color:var(--ink-2)}.challenge-next{background:#fff;border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-top:.5rem}.challenge-next h3{font-size:1.54rem;margin-bottom:.5rem;display:inline;margin-right:.5rem}.challenge-badge{display:inline-block;font-size:.65rem;font-family:var(--mono);text-transform:uppercase;padding:.1rem .5rem;border-radius:3px;margin-left:.3rem;vertical-align:middle}.challenge-badge-future{background:var(--bg-alt);color:var(--ink-3);border:1px solid var(--border)}.challenge-badge-done{background:#e8f5e9;color:var(--green);border:1px solid #c8e6c9}.challenge-badge-open{background:#fff8e1;color:#b8860b;border:1px solid #ffe082}.challenge-next p{margin-top:.8rem;font-size:1.26rem;color:var(--ink-2)}.challenge-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:1rem 1.5rem;margin-top:.8rem}.challenge-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.challenge-card-header strong{font-size:1.33rem}.challenge-desc{font-size:1.19rem;color:var(--ink-2);margin-bottom:.8rem}.phases{margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--border)}.phases h4{font-size:.8rem;text-transform:uppercase;color:var(--ink-3);margin-bottom:.6rem;letter-spacing:.05em}.phase-list{display:flex;flex-direction:column;gap:.5rem}.phase{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--ink-2);padding:.4rem .6rem;border-radius:4px;background:#fafafa}.phase-pending .phase-dot{background:var(--border)}.phase-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}.phase-active .phase-dot{animation:blink 1.2s ease-in-out infinite}.phase-active{color:var(--ink);font-weight:500}.phase-active .phase-dot{background:var(--accent);box-shadow:0 0 0 2px rgba(254,33,33,.25)}.phase-done{color:var(--ink-2)}.phase-done .phase-dot{background:var(--green)}.participa-form{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.participa-form h4{font-size:.9rem;margin-bottom:.8rem}.participa-form .contact-form{max-width:100%}.participa-form .checkbox-label a{color:var(--ink-2);text-decoration:underline;font-size:.75rem}.timeline{display:flex;flex-direction:column;gap:0;position:relative;padding-left:2.5rem}.timeline::before{content:'';position:absolute;left:1rem;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--accent),var(--border));animation:tl-line-grow 1.2s ease forwards;transform-origin:top}@keyframes tl-line-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}.timeline-step{display:flex;align-items:center;gap:1rem;padding:1rem 0;position:relative;animation:tl-pop .6s cubic-bezier(.34,1.56,.64,1)both}.timeline-step:nth-child(1){animation-delay:.1s}.timeline-step:nth-child(1) .timeline-num{animation:tl-blink 1.2s ease-in-out infinite;box-shadow:0 0 0 4px var(--bg-alt),0 0 rgba(254,33,33,.4)}.timeline-step:nth-child(1) .timeline-label{font-weight:600;animation:tl-blink-label 1.2s ease-in-out infinite}@keyframes tl-blink{0%,100%{box-shadow:0 0 0 4px var(--bg-alt),0 0 rgba(254,33,33,.4);transform:scale(1)}50%{box-shadow:0 0 0 4px var(--bg-alt),0 0 0 12px rgba(254,33,33,.15);transform:scale(1.05)}}@keyframes tl-blink-label{0%,100%{opacity:1}50%{opacity:.5}}.timeline-step:nth-child(2){animation-delay:.25s}.timeline-step:nth-child(3){animation-delay:.4s}.timeline-step:nth-child(4){animation-delay:.55s}.timeline-step:nth-child(5){animation-delay:.7s}.timeline-step:nth-child(6){animation-delay:.85s}@keyframes tl-pop{from{opacity:0;transform:translateX(-20px)scale(.9)}to{opacity:1;transform:translateX(0)scale(1)}}.timeline-num{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:1rem;background:var(--accent);color:#fff;flex-shrink:0;position:relative;z-index:1;box-shadow:0 0 0 4px var(--bg-alt);animation:tl-pulse 2s ease-in-out infinite}@keyframes tl-pulse{0%,100%{box-shadow:0 0 0 4px var(--bg-alt),0 0 rgba(254,33,33,.3)}50%{box-shadow:0 0 0 4px var(--bg-alt),0 0 0 8px rgba(254,33,33,.1)}}.timeline-label{font-size:.95rem;color:var(--ink-2)}.timeline-step:hover .timeline-num{transform:scale(1.15);transition:transform .2s ease}.timeline-step:hover .timeline-label{color:var(--ink)}.faq{margin-top:2rem}.faq h3{font-size:1.4rem;margin-bottom:1rem}.faq-item{border-bottom:1px solid var(--border);padding:.6rem 0}.faq-item summary{cursor:pointer;font-weight:500;font-size:1.26rem;color:var(--ink);padding:.2rem 0;list-style:none;display:flex;align-items:center;gap:.4rem}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::before{content:"+";font-family:var(--mono);color:var(--ink-3);font-size:.9rem}.faq-item[open] summary::before{content:"–"}.faq-item p{font-size:1.19rem;color:var(--ink-2);padding:.3rem 0 .5rem 1.2rem}.contacte-nota{font-size:.82rem;color:var(--ink-3);background:#fafafa;padding:.6rem .8rem;border-radius:6px;margin-top:.5rem;line-height:1.5}.contacte-nota a{color:var(--ink-2)}.contact-form{display:flex;flex-direction:column;gap:.8rem;margin-top:1rem;max-width:480px}.contact-form input,.contact-form textarea{padding:.6rem .8rem;border:1px solid var(--border);border-radius:6px;font-family:var(--sans);font-size:.9rem}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:#888}.contact-form button{align-self:flex-start;border:none;cursor:pointer}.checkbox-label{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--ink-2);cursor:pointer}.checkbox-label input{width:auto}.scroll-top{position:fixed;bottom:1.5rem;right:1.5rem;width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;border:none;font-size:1.1rem;cursor:pointer;z-index:99;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;box-shadow:0 2px 8px rgba(0,0,0,.15)}.scroll-top.visible{opacity:1;pointer-events:auto}.scroll-top:hover{transform:translateY(-2px)}.mobile-tab-bar{display:none;position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-top:1px solid var(--border);z-index:100;justify-content:space-around;align-items:center;padding:.3rem 0 env(safe-area-inset-bottom,.3rem)}.mobile-tab-bar a{display:flex;flex-direction:column;align-items:center;gap:.1rem;text-decoration:none;color:var(--ink-3);font-size:.55rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.03em;padding:.2rem .3rem;transition:color .15s;-webkit-tap-highlight-color:transparent}.mobile-tab-bar a svg{display:block}.mobile-tab-bar a:active,.mobile-tab-bar a.active{color:var(--ink)}.site-footer{border-top:1px solid var(--border);padding:3rem 1rem 2rem;background:rgba(254,33,33,8%)}.footer-inner{max-width:960px;margin:0 auto}.footer-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-bottom:2.5rem}.footer-col{display:flex;flex-direction:column;gap:.4rem}.footer-col h5{font-family:var(--display);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin-bottom:.3rem}.footer-col a{text-decoration:none;color:var(--ink-2);font-size:.8rem}.footer-col a:hover{color:var(--ink)}.footer-col p{font-size:.78rem;color:var(--ink-3);line-height:1.4}.footer-form{display:flex;gap:.3rem;margin-top:.3rem}.footer-form input{flex:1;padding:.35rem .5rem;border:1px solid var(--border);border-radius:4px;font-family:var(--sans);font-size:.78rem;min-width:0}.footer-form input:focus{outline:none;border-color:#888}.footer-form button{padding:.35rem .6rem;border:1px solid var(--border);border-radius:4px;background:var(--bg-alt);color:var(--ink-2);font-size:.75rem;cursor:pointer;white-space:nowrap}.footer-form button:hover{background:var(--border)}.footer-social{display:flex;gap:.6rem;flex-wrap:wrap}.footer-social a{text-decoration:none;color:var(--ink-3);font-size:.8rem}.footer-social a:hover{color:var(--ink-2)}.footer-bottom{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding-top:1.5rem;border-top:1px solid var(--border);text-align:center}.footer-logo{height:36px;width:auto;opacity:.7}.footer-bottom p{font-size:.72rem;color:var(--ink-3)}.footer-bottom a{color:var(--ink-2)}.footer-powered{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;padding-top:1.5rem;border-top:1px solid var(--border);text-align:right}.footer-powered p{font-size:.72rem;color:var(--ink-3);margin:0;font-family:helvetica neue,Helvetica,Arial,sans-serif}.footer-powered a{color:var(--ink-2);text-decoration:none;font-family:helvetica neue,Helvetica,Arial,sans-serif}.footer-powered a:hover{color:var(--ink)}.powered-detail{font-size:.65rem;color:var(--ink-3);letter-spacing:.02em}@media(max-width:640px){.nav-links{display:none}.nav-langs .lang-switch{font-size:.75rem;padding:.1rem .4rem}.hero h1{font-size:3rem}.challenge-hero{min-height:50vh}.grid-2{grid-template-columns:1fr}.mobile-tab-bar{display:flex}body{padding-bottom:3.2rem}.scroll-top{bottom:4.2rem}.footer-cols{grid-template-columns:1fr;gap:1.5rem}}