:root{--green:#102f25;--cream:#f5f1e8;--pink:#ed7ca5;--black:#171717;--pad:clamp(22px,4vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--green);color:var(--cream);font-family:'Helvetica Neue',Helvetica,sans-serif}a{color:inherit}a:focus-visible{outline:3px solid currentColor;outline-offset:8px}.skip{position:fixed;z-index:10;top:15px;left:15px;padding:16px;background:var(--cream);color:var(--green);transform:translateY(-150%)}.skip:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.opening{height:auto}.stage{position:relative}.front-scene{position:relative;height:100svh;min-height:450px;background:var(--green);overflow:hidden}.facade{position:absolute;inset:0;background:url('assets/fachada.jpg') center/cover no-repeat;filter:grayscale(1);opacity:.5}.identity{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.logo-original{width:min(35vw,330px);height:32svh;max-height:310px;background:var(--cream);mask:url('assets/logo.png') center/contain no-repeat;-webkit-mask:url('assets/logo.png') center/contain no-repeat}.hero-quote{position:absolute;right:var(--pad);top:var(--pad);margin:0;font-size:clamp(18px,2vw,30px);line-height:1.15;letter-spacing:-.025em;color:var(--cream);padding:10px 12px;background:rgba(16,47,37,.88)}.hero-quote em,.coming em{font-family:Georgia,'Times New Roman',serif;font-weight:400}
.manifesto{min-height:100svh;background:var(--pink);color:var(--black);padding:var(--pad);display:flex;flex-direction:column;justify-content:space-between;gap:50px}.section-note{display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.13em;font-weight:500}.manifesto h2{margin:0;font-size:clamp(55px,11vw,180px);line-height:.88;letter-spacing:-.065em;font-weight:500}.manifesto h2>span{display:block}.manifesto i{font-style:normal;font-weight:300}.manifesto-copy{align-self:flex-end;margin:0;font-size:clamp(17px,2vw,29px);line-height:1.45;letter-spacing:-.025em;max-width:650px}
.coming{min-height:100svh;padding:var(--pad);display:flex;flex-direction:column;justify-content:space-between;gap:35px}.coming h2{margin:0;font-size:clamp(100px,23vw,350px);font-weight:500;line-height:.8;letter-spacing:-.07em}.coming h2 em{color:var(--pink)}.back{align-self:flex-end;font-size:12px;text-decoration:none}.back span{margin-left:20px;font-size:24px}
.cards-active .opening{height:200svh}.cards-active .stage{position:sticky;top:0;height:100svh;min-height:450px;overflow:hidden;background:var(--green);isolation:isolate}.cards-active .stage>.front-scene{position:absolute;inset:0;z-index:1}.cards-active .stage>.manifesto{position:absolute;inset:0;height:100%;min-height:0;z-index:0}.cards-ready>.front-scene{visibility:hidden}.card-grid{position:absolute;inset:0;z-index:2;display:grid;gap:3px;padding:4px;background:var(--green)}.card-grid.is-complete{visibility:hidden}.card{position:relative;perspective:1000px;min-width:0;min-height:0}.card-turn{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.75,.25,1)}.card.is-flipped .card-turn{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;border-radius:7px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}.card-front{background:var(--green)}.card-back{background:var(--pink);transform:rotateY(180deg)}.card-scene{position:absolute;left:0;top:0;pointer-events:none}.card-scene.front-scene{min-height:0}.card-scene.manifesto{min-height:0}.card-scene .hero-quote{position:absolute}
@media(max-width:600px){.logo-original{width:40vw;height:24svh;max-height:215px}.hero-quote{font-size:17px;top:24px;right:22px}.section-note{font-size:9px;letter-spacing:.08em}.section-note span:last-child{text-align:right;max-width:150px}.manifesto{gap:35px;padding-block:30px}.manifesto h2{font-size:15vw;line-height:1}.manifesto-copy{align-self:flex-start;font-size:18px}.coming h2{font-size:28vw}.facade{background-position:51% center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card-turn{transition:none}.card.is-flipped .card-turn{transform:none}.card.is-flipped .card-front{visibility:hidden}.card.is-flipped .card-back{transform:none}.card-front,.card-back{backface-visibility:visible}.card-back{visibility:hidden}.card.is-flipped .card-back{visibility:visible}}
.card-grid{display:none}.cards-active .card-grid{display:grid}
/* Keep the phrase intact over exactly two cells. */
.stage>.hero-quote{z-index:3;right:2px;top:2px;width:33.3%;height:120px;display:flex;flex-direction:column;justify-content:center;font-size:clamp(17px,1.65vw,25px);padding:12px 20px;line-height:1.12;pointer-events:none;background:var(--green);transition:opacity .12s linear;border-radius:3.5px}
.stage>.hero-quote br{display:none}
.stage>.hero-quote{display:block;padding-top:18px}
.stage>.hero-quote br{display:initial}
.card-grid{gap:1px;padding:2px}
.card-face{border-radius:3.5px}
.card-turn{transition:transform .30s cubic-bezier(.2,.8,.3,1)}
.card-grid.is-scrolling{background:var(--pink)}
.card-grid.is-scrolling .card-face{border-radius:0}
.scroll-ring{position:absolute;z-index:4;right:var(--pad);bottom:var(--pad);width:100px;height:100px;color:var(--cream);border-radius:50%;background:rgba(16,47,37,.86);text-decoration:none;display:grid;place-items:center;transition:opacity .12s linear}
.scroll-ring svg{position:absolute;inset:0;width:100%;height:100%;animation:scroll-circle-turn 12s linear infinite;fill:currentColor;font-size:8.8px;letter-spacing:1px}
.scroll-ring span{font-size:28px}
@keyframes scroll-circle-turn{to{transform:rotate(360deg)}}
.coming{background:var(--pink);color:var(--black)}
.coming h2 em{color:var(--black)}
@media(max-width:600px){.stage>.hero-quote{font-size:17px;padding:16px 14px}.scroll-ring{width:84px;height:84px}}
@media(prefers-reduced-motion:reduce){.scroll-ring svg{animation:none}.card-turn,.stage>.hero-quote,.scroll-ring{transition:none}}
.card-grid.is-scrolling .card-back{width:calc(100% + 1px);height:calc(100% + 1px)}
