/* Página de proyecto: New Genesis */
body.proj{background:var(--ink);color:var(--paper)}
#sky{position:fixed;inset:0;width:100%;height:100%;z-index:0}
body.proj::before{content:"";position:fixed;inset:0;z-index:0;background:radial-gradient(60% 45% at 50% 0,rgba(255,150,70,.14),transparent 70%),radial-gradient(50% 40% at 85% 30%,rgba(182,220,255,.08),transparent 70%);pointer-events:none}
.proj main,.proj .p-foot{position:relative;z-index:2}
.p-hero{position:relative;min-height:min(100svh,900px);padding:96px 24px 40px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}
.p-logo{width:min(440px,78vw);height:auto;filter:drop-shadow(0 10px 50px rgba(80,150,255,.35));animation:floaty 7s ease-in-out infinite}
@keyframes floaty{50%{transform:translateY(-10px)}}
.p-lead{font:400 clamp(38px,7vw,88px)/.98 'Instrument Serif',serif;margin:10px 0 0;letter-spacing:-.02em}
.p-lead em,.p-h em{font-style:italic;background:linear-gradient(90deg,#FFB35C,#FF5B1F);-webkit-background-clip:text;background-clip:text;color:transparent}
.p-sub{font:300 clamp(16px,2vw,20px)/1.5 'Inter Tight',sans-serif;color:#b5bbc6;max-width:560px;margin:4px 0}
.p-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:10px}
.p-stage{position:relative;width:min(560px,92vw);height:var(--sp);margin-top:2px;--sp:clamp(110px,min(22vh,40vw),190px)}
.spr{position:absolute;bottom:0;width:var(--sp);height:var(--sp);background-repeat:no-repeat;background-size:600% 100%;background-position:0 0;image-rendering:auto;filter:drop-shadow(0 12px 18px rgba(0,0,0,.6))}
.p-stage .s-hero{left:4%}.p-stage .s-ogre{right:4%}
.p-status{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;color:#aab1bd;font-size:14px;margin-top:8px}
.p-sec{padding:100px 24px;max-width:1120px;margin:0 auto}
.p-h{font:400 clamp(30px,5vw,60px)/1.04 'Instrument Serif',serif;margin:10px 0 36px;letter-spacing:-.015em;max-width:880px}
.p-cols{display:grid;grid-template-columns:1fr 1fr;gap:36px;color:#c4c9d3;font:300 18px/1.65 'Inter Tight',sans-serif}
.p-cols p{margin:0}.p-cols b{color:var(--paper);font-weight:500}
.p-three{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:28px;background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015));backdrop-filter:blur(8px);transition:transform .5s var(--expo),border-color .4s}
.card:hover{transform:translateY(-6px);border-color:rgba(255,179,92,.5)}
.card h3{font:500 24px 'Inter Tight',sans-serif;margin:12px 0 10px}.card p{margin:0;color:#b5bbc6;font-weight:300;line-height:1.55}.card .mono{color:var(--amber);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.p-promises{list-style:none;padding:0;margin:34px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:14px 36px}
.p-promises li{padding-left:26px;position:relative;color:#c4c9d3;font-weight:300;line-height:1.5}
.p-promises li::before{content:"";position:absolute;left:0;top:8px;width:10px;height:10px;border-radius:50%;background:var(--ember);box-shadow:0 0 12px var(--ember)}
.p-promises b{color:var(--paper);font-weight:500}
.p-anim{border:1px solid rgba(255,255,255,.1);border-radius:26px;padding:30px 20px 24px;background:radial-gradient(70% 90% at 50% 100%,rgba(255,150,70,.16),transparent),rgba(8,10,16,.55)}
.p-anim{--sp:clamp(120px,34vw,290px)}.p-anim .stage{position:relative;height:var(--sp);max-width:760px;margin:0 auto}
.p-anim .s-hero{left:6%;transition:left 1.6s linear}.p-anim .s-ogre{right:6%}
.ctrl{display:flex;gap:10px;justify-content:center;margin-top:12px;flex-wrap:wrap}
.chip{padding:10px 20px;border-radius:99px;border:1px solid rgba(255,255,255,.18);font:500 14px 'Inter Tight',sans-serif;transition:.3s}
.chip:hover{border-color:var(--amber)}.chip.is-on{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.p-maps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.map{margin:0;position:relative;border-radius:18px;overflow:hidden;aspect-ratio:3/4;border:1px solid rgba(255,255,255,.1)}
.map img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--expo)}
.map:hover img{transform:scale(1.08)}
.map figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 16px 16px;background:linear-gradient(transparent,rgba(0,0,0,.82));display:flex;flex-direction:column;gap:2px}
.map figcaption .mono{color:var(--amber);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.map figcaption b{font:400 22px 'Instrument Serif',serif}
.p-road{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative}
.p-road li{border-top:2px solid rgba(255,255,255,.18);padding-top:20px;position:relative}
.p-road li::before{content:"";position:absolute;left:0;top:-7px;width:12px;height:12px;border-radius:50%;background:var(--ink);border:2px solid var(--mist)}
.p-road li.done{border-top-color:var(--ember)}.p-road li.done::before{background:var(--ember);border-color:var(--ember);box-shadow:0 0 14px var(--ember)}
.p-road .mono{color:var(--amber);font-size:12px;letter-spacing:.14em;text-transform:uppercase}.p-road h3{font:500 22px 'Inter Tight',sans-serif;margin:10px 0 8px}.p-road p{margin:0;color:#b5bbc6;font-weight:300;line-height:1.55;font-size:15px}
.p-note{margin-top:34px;color:#8b93a1;font-size:14px}
.p-end{text-align:center}.p-end .p-h{margin-left:auto;margin-right:auto}.p-end .p-sub{margin:0 auto 6px}
.gp-soon{display:inline-block;margin-top:26px;padding:12px 22px;border:1px dashed rgba(255,255,255,.3);border-radius:12px;color:#aab1bd;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.p-foot{padding:40px 24px 60px;max-width:1120px;margin:0 auto;color:#8b93a1;font-size:13px;line-height:1.6;border-top:1px solid rgba(255,255,255,.1)}
.p-foot a{color:var(--ice)}.p-credits{max-width:880px}
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--expo),transform .9s var(--expo)}.rv.in{opacity:1;transform:none}
@media (max-width:900px){.p-cols,.p-promises{grid-template-columns:1fr}.p-three{grid-template-columns:1fr}.p-maps{grid-template-columns:repeat(2,1fr)}.p-road{grid-template-columns:1fr 1fr}.p-sec{padding:70px 20px}}
@media (max-width:520px){.p-road{grid-template-columns:1fr}.p-maps{gap:10px}.p-lead{font-size:40px}}
@media (prefers-reduced-motion:reduce){.p-logo{animation:none}.rv{opacity:1;transform:none;transition:none}}
@media (min-width:1000px){.p-stage{position:absolute;top:130px;left:0;width:100%;height:230px;margin:0;--sp:230px}.p-stage .s-hero{left:11%}.p-stage .s-ogre{right:11%}.p-lead{margin-top:26px}}

.map.wip{border-style:dashed;border-color:rgba(255,255,255,.22);background:rgba(10,12,18,.6)}
.wip-bg{position:absolute;inset:0;background:radial-gradient(70% 50% at 50% 38%,rgba(182,220,255,.16),transparent 70%),repeating-linear-gradient(115deg,rgba(255,255,255,.03) 0 12px,transparent 12px 24px);animation:wipPulse 4.5s ease-in-out infinite}
.wip-bg::after{content:"";position:absolute;left:50%;top:38%;width:46px;height:46px;margin:-23px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);border-top-color:var(--ember);animation:spin 3s linear infinite}
@keyframes wipPulse{50%{opacity:.55}}
.p-foot a{display:inline-block;padding:12px 6px}

/* Apuntes · Dominó */
.dm-hero{flex-direction:row;gap:56px;justify-content:center;align-items:center;flex-wrap:wrap;text-align:left}
.dm-copy{max-width:520px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}.dm-copy .p-lead,.dm-copy .p-sub{margin:0}
.phone{width:min(344px,88vw);aspect-ratio:9/18.5;border:9px solid #11151f;border-radius:44px;overflow:hidden;background:#05070C;position:relative;box-shadow:0 30px 80px -20px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.12),0 0 90px -20px rgba(255,150,70,.35)}
.phone iframe{width:100%;height:100%;border:0;display:block}
@media (max-width:900px){.dm-hero{flex-direction:column;gap:32px;text-align:center}.dm-copy{align-items:center}}