:root{--night:#15132f;--indigo:#2d2b7f;--blue:#4d5ac2;--plum:#8f328d;--pink:#d65ab0;--cyan:#58b8d6;--lav:#e6dceb;--white:#fff;--display:"Fraunces",serif;--body:"Manrope",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--night);background:var(--white);font-family:var(--body)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{height:92px;position:sticky;top:0;z-index:50;background:rgba(21,19,47,.97);color:var(--lav);border-bottom:1px solid rgba(230,220,235,.16);backdrop-filter:blur(16px)}.nav{height:100%;max-width:1240px;margin:auto;padding:0 28px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;margin-right:auto}.brand img{width:270px;max-height:54px;object-fit:contain;object-position:left center}.links{display:flex;align-items:center;gap:26px}.links a{font-size:13px;font-weight:700}.links a:hover,.links a[aria-current=page]{color:var(--cyan)}.donate{background:var(--pink);color:var(--night)!important;padding:13px 18px;border-radius:5px}.menu-button{display:none;border:1px solid var(--lav);background:transparent;color:var(--lav);font:700 12px var(--body);padding:10px 13px}.hero{min-height:570px;padding:105px 28px;display:grid;align-items:center;color:white;overflow:hidden;position:relative;background:linear-gradient(120deg,rgba(21,19,47,.97),rgba(45,43,127,.88) 52%,rgba(143,50,141,.78)),radial-gradient(circle at 82% 20%,var(--pink),transparent 40%)}.hero:after{content:"";position:absolute;width:620px;height:620px;border:100px solid rgba(88,184,214,.12);border-radius:50%;right:-250px;top:-190px}.hero-inner,.wrap{max-width:1160px;width:100%;margin:auto;position:relative;z-index:2}.kicker{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);margin-bottom:24px}.hero h1,.page-hero h1{font:500 clamp(54px,7vw,96px)/.94 var(--display);letter-spacing:-.05em;margin:0;max-width:930px}.hero p,.page-hero p{font-size:19px;line-height:1.6;max-width:680px;margin:26px 0 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}.button{display:inline-block;background:var(--pink);color:var(--night);padding:15px 20px;border-radius:5px;font-size:13px;font-weight:800}.button.secondary{background:transparent;color:white;border:1px solid rgba(255,255,255,.6)}.page-hero{padding:95px 28px 78px;background:var(--lav)}.page-hero .kicker{color:var(--plum)}.page-hero h1{color:var(--indigo);max-width:1000px}.section{padding:90px 28px}.section.alt{background:var(--lav)}.section.night{background:var(--night);color:var(--lav)}.section.pink{background:var(--pink)}.section-title{font:500 clamp(40px,5vw,68px)/1 var(--display);letter-spacing:-.04em;margin:0 0 28px}.intro{font:500 clamp(25px,3vw,40px)/1.15 var(--display);max-width:860px}.body-copy{max-width:760px;font-size:16px;line-height:1.8}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:46px}.card{padding:30px;background:white;border:1px solid rgba(21,19,47,.15);min-height:260px}.night .card{background:var(--indigo);border-color:rgba(230,220,235,.2)}.card .num{font:700 12px var(--body);color:var(--pink);letter-spacing:.13em}.card h2,.card h3{font:500 34px/1.02 var(--display);margin:18px 0}.card p{line-height:1.65;font-size:14px}.text-link{display:inline-block;margin-top:18px;color:var(--indigo);font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:5px}.night .text-link{color:var(--cyan)}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.facts{border-top:1px solid var(--night)}.fact{display:grid;grid-template-columns:120px 1fr;gap:25px;padding:24px 0;border-bottom:1px solid var(--night)}.fact strong{color:var(--plum)}.project-list{display:grid;gap:28px;margin-top:45px}.project-row{display:grid;grid-template-columns:1fr 1.2fr;background:var(--lav);min-height:330px}.project-art{padding:36px;display:flex;align-items:flex-end;font:500 clamp(40px,5vw,68px)/.86 var(--display);color:white;background:linear-gradient(140deg,var(--indigo),var(--plum))}.project-row:nth-child(2) .project-art{background:linear-gradient(140deg,var(--cyan),var(--blue))}.project-row:nth-child(3) .project-art{background:linear-gradient(140deg,var(--pink),var(--plum))}.project-copy{padding:42px}.project-copy h2{font:500 42px/1 var(--display);margin:12px 0 20px}.meta{font-size:11px;font-weight:800;letter-spacing:.13em;color:var(--plum)}.gallery{columns:2;column-gap:18px;margin-top:40px}.gallery img{width:100%;margin:0 0 18px;break-inside:avoid}.letter{max-width:800px;margin:auto}.letter p{font:400 19px/1.75 var(--display)}.cta{padding:70px 28px;background:var(--cyan);text-align:center}.cta h2{font:500 clamp(38px,5vw,68px)/1 var(--display);margin:0 0 25px}.footer{background:var(--indigo);color:var(--lav);padding:64px 28px 28px}.footer-grid{max-width:1160px;margin:auto;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}.footer-logo{font:500 38px/.95 var(--display)}.footer h3{color:var(--cyan);font-size:15px}.footer a{display:block;margin:10px 0;font-size:13px}.legal{max-width:1160px;margin:55px auto 0;padding-top:20px;border-top:1px solid rgba(230,220,235,.2);font-size:11px}.video{width:100%;aspect-ratio:16/9;border:0;margin-top:30px}.values{font:500 clamp(44px,6vw,82px)/.98 var(--display);letter-spacing:-.04em}.seal{width:260px;margin:auto}.contact-box{padding:35px;background:var(--lav);margin-top:35px}.contact-box a{text-decoration:underline}.mobile-panel{display:none}
@media(max-width:900px){.brand img{width:220px}.links{gap:15px}.links a{font-size:11px}.grid{grid-template-columns:1fr 1fr}.split{gap:35px}.project-row{grid-template-columns:1fr}}
@media(max-width:720px){.site-header{height:78px}.nav{padding:0 18px}.brand img{width:205px}.links{display:none}.menu-button{display:block}.mobile-panel.open{display:flex;position:fixed;top:78px;left:0;right:0;background:var(--night);color:var(--lav);padding:25px;flex-direction:column;gap:20px;z-index:49}.mobile-panel a{font-weight:700}.hero,.page-hero,.section{padding-left:20px;padding-right:20px}.hero h1,.page-hero h1{font-size:51px}.grid,.split,.footer-grid{grid-template-columns:1fr}.project-copy{padding:28px}.gallery{columns:1}.fact{grid-template-columns:90px 1fr}.footer-grid{gap:28px}.footer-logo{font-size:32px}}
.language{position:relative;flex:0 0 auto}.lang-toggle{width:43px;height:43px;border:1px solid rgba(230,220,235,.75);border-radius:50%;background:transparent;color:var(--lav);font:800 11px var(--body);cursor:pointer}.lang-toggle:hover{background:var(--lav);color:var(--night)}.lang-menu{display:none;position:absolute;right:0;top:50px;min-width:80px;padding:6px;background:var(--night);border:1px solid rgba(230,220,235,.25)}.lang-menu.open{display:block}.lang-menu button{display:block;width:100%;padding:9px;border:0;background:transparent;color:var(--lav);font:700 11px var(--body);text-align:left;cursor:pointer}.lang-menu button:hover,.lang-menu button.active{background:var(--lav);color:var(--night)}
.brand img{width:360px;max-height:68px;mix-blend-mode:screen}.brand{min-width:360px}@media(max-width:1050px){.brand,.brand img{min-width:0;width:270px}.links{gap:18px}}@media(max-width:720px){.brand,.brand img{width:245px}.nav{gap:14px}}@media(max-width:480px){.brand,.brand img{width:210px}.lang-toggle{width:39px;height:39px}}
.site-header{height:108px}.brand{width:440px;min-width:440px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px}.brand img{width:440px;max-height:62px;mix-blend-mode:normal;object-fit:contain;object-position:left center}.brand:after{content:"Independent cultural association · Paris × Mexico City";color:var(--cyan);font:700 9px/1.1 var(--body);letter-spacing:.105em;text-transform:uppercase;white-space:nowrap}html[lang="fr"] .brand:after{content:"Association culturelle indépendante · Paris × Ciudad de México"}html[lang="es"] .brand:after{content:"Asociación cultural independiente · París × Ciudad de México"}@media(max-width:1120px){.brand,.brand img{width:350px;min-width:350px}.links{gap:15px}.links a{font-size:11px}.brand:after{font-size:7.5px}}@media(max-width:720px){.site-header{height:94px}.brand,.brand img{width:265px;min-width:0}.brand:after{font-size:6.5px;letter-spacing:.06em}.mobile-panel.open{top:94px}}@media(max-width:480px){.brand,.brand img{width:215px}.brand:after{max-width:215px;white-space:normal;line-height:1.25}.nav{padding:0 12px;gap:10px}}
